【问题标题】:Create a profile with databricks cli without passing arguments使用 databricks cli 创建配置文件而不传递参数
【发布时间】:2021-01-25 16:56:03
【问题描述】:

我正在尝试在 azure 上的 devops 管道中使用 databricks-cli。为此,我需要创建一个配置文件,使用:

databricks configure --profile Profile --token

问题是,当我运行该命令时,它会要求我提供主机和令牌,这会破坏我等待用户输入的管道。我想知道是否可以在不传递参数的情况下执行此操作。

我已经试过了:

echo "configuring databrick-cli authentication"

declare DATABRICKS_URL="https://westeurope.azuredatabricks.net"
declare DATABRICKS_ACCESS_TOKEN="authentication_token_generated_from_databricks_ux"

declare dbconfig=$(<~/.databrickscfg)
if [[ $dbconfig = *"host = "* && $dbconfig = *"token = "* ]]; then
  echo "file [~/.databrickscfg] is already configured"
else
  if [[ -z "$DATABRICKS_URL" || -z "$DATABRICKS_ACCESS_TOKEN" ]]; then
    echo "file [~/.databrickscfg] is not configured, but [DATABRICKS_URL],[DATABRICKS_ACCESS_TOKEN] env vars are not set"
  else
    echo "populating [~/.databrickscfg]"
    > ~/.databrickscfg
    echo "[DEFAULT]" >> ~/.databrickscfg
    echo "host = $DATABRICKS_URL" >> ~/.databrickscfg
    echo "token = $DATABRICKS_ACCESS_TOKEN" >> ~/.databrickscfg
    echo "" >> ~/.databrickscfg
  fi
fi

我正在尝试将主机和令牌放入databrickscfg,但它只是挂在那里,我猜它正在等待用户再次输入

我做错了什么?

【问题讨论】:

  • 使用“|”管道令牌配置命令应该工作。

标签: shell azure-devops databricks databricks-cli


【解决方案1】:

您可以通过同时传递多个值来配置命令来实现这一点,就像 Databricks Connect here 所做的那样:

echo "$(databricks_host)
    $(databricks_token)" | databricks configure --token

但实际上,您可以只使用环境变量 DATABRICKS_HOSTDATABRICKS_TOKEN,如 documentation 中所述 - Databricks CLI 将获取它们。

您需要考虑的唯一一件事 - 像 Databricks 令牌这样的敏感数据需要安全地存储在管道定义中,并且您需要以特殊方式访问它们 - 通过 env(完整定义为 @987654323 @):

    - script: |
        echo "[{{cookiecutter.profile}}]" >> ~/.databrickscfg
        echo "host = $DATABRICKS_HOST" >> ~/.databrickscfg
        echo "token = $DATABRICKS_TOKEN" >> ~/.databrickscfg
      env:
        DATABRICKS_HOST: $(DATABRICKS_HOST)
        DATABRICKS_TOKEN: $(DATABRICKS_TOKEN)

附:您可以使用 cicd-templates project 为 Azure DevOps(或 Github Actions)生成模板,该模板可与 Databricks 一起使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多