【问题标题】:How to access secrets in databricks initscript如何在 databricks initscript 中访问机密
【发布时间】:2021-04-02 14:53:45
【问题描述】:

我已尝试在 databricks 集群的高级选项卡中访问秘密 {{secrets/secrectScope/Key}},它工作正常。但是当我尝试在 databricks 初始化脚本中使用它时,它不起作用。

执行此操作的步骤是什么?

【问题讨论】:

  • 请发布示例代码并描述您遇到的问题(即错误消息)。这个问题的信息很少

标签: databricks azure-databricks azure-secrets


【解决方案1】:

关于机密参考(所谓的“secret paths”)的语法的另一个答案是正确的,但它不适用于 init 脚本,尽管它适用于 Spark 代码本身。

要将秘密传递给初始化脚本,您需要将秘密路径放入 Spark 配置选项卡的 "Environment Variables" sections,如下所示:

然后you can use the variable by name inside the init script:

if [ -n "$SECRET_VAR" ]; then
  do_something_with_it
fi

【讨论】:

    【解决方案2】:

    以下是在 databricks initscript 中访问机密的步骤:

    1. 转到集群
    2. 点击集群信息旁边的编辑
    3. 在“配置集群”页面上,单击高级选项
    4. Spark 选项卡上,输入以下 Spark 配置:

    示例 ini 代码:

     fs.azure.account.auth.type.chepragen2.dfs.core.windows.net OAuth
     fs.azure.account.oauth.provider.type.chepragen2.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
     fs.azure.account.oauth2.client.id.chepragen2.dfs.core.windows.net {<!-- -->{secrets/KeyVaultName/ClientID}}
     fs.azure.account.oauth2.client.secret.chepragen2.dfs.core.windows.net {<!-- -->{secrets/KeyVaultName/ClientSecret}}
     fs.azure.account.oauth2.client.endpoint.chepragen2.dfs.core.windows.net https://login.microsoftonline.com/<Directory_ID>/oauth2/token
    

    更多详情,请参考Azure Databricks - configure the cluster to read secrets from the secret scope

    【讨论】:

    • 您错过了名称周围的{{}},例如:{{secrets/&lt;secret-scope-name&gt;/&lt;secret-name&gt;}}
    猜你喜欢
    • 2020-09-27
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    相关资源
    最近更新 更多