3

我在 Azure DevOps 中运行以下任务,它总是挂起输入?为什么我的 bash 自动供应不起作用?

databricksUrl=https://...
databricksToken=*****

databricks configure --token << EOF
$(databricksUrl)
$(databricksToken)
EOF
4

4 回答 4

4

我也有同样的问题。我的发布管道过去运行良好,现在即使没有进行任何更改,它也卡在了身份验证步骤。

更新:问题是由databricks-cli(0.12.0)的新版本引起的。使用 0.11.0 版本将解决问题:

python -m pip install --upgrade pip setuptools wheel databricks-cli==0.11.0
于 2020-10-01T14:14:43.880 回答
3

Databricks CLI > 0.11.0 有两种解决方案:

  • 直接生成~/.databricks.cfg形式:
echo "[DEFAULT]                                                               
host = $url
token = $token" > ~/.databricks.cfg
  • 使用新选项--host&--token-file指定主机和令牌:
echo $token > token-file
databricks configure --host $url --token-file token-file
rm -f token-file
于 2021-07-13T13:04:43.677 回答
3

您尝试使用以下内联 bash 脚本在没有变量的情况下使用 Azure Databricks 进行身份验证。

databricks configure --token <<EOF
https://centralus.azuredatabricks.net
dapXXXXXXXXXXXXXXXXXXXXXX467
EOF

在此处输入图像描述

您尝试使用以下内联 bash 脚本使用变量对 Azure Databricks 进行身份验证。

adburl="https://centralus.azuredatabricks.net"
token=dapXXXXXXXXXXXXXXXXXXXXXXXXX467
databricks configure --token <<EOF
$adburl
$token
EOF

在此处输入图像描述

已成功通过 Azure Databricks 进行身份验证:

在此处输入图像描述

或者

您可以将DevOps 用于 Azure Databricks 扩展

此扩展为您带来了一组任务,用于操作 Databricks 作业和笔记本的构建、测试和部署。

安装适用于 Azure Databricks 扩展的 DevOps 后,您可以通过单击添加任务直接使用配置 Databricks CLI。

在此处输入图像描述

于 2020-10-01T04:57:54.067 回答
0

我为此苦苦挣扎了好几天。我看到的两件事是,当您准备好令牌文件(在我的 Windows 案例中为 %user%/.databrickscfg)并执行

databricks configure --host https://centralus.azuredatabricks.net --token-file .databrickscfg

用您的实际 URL替换https://centralus.azuredatabricks.net

  1. 它不会给出成功状态消息。

  2. 它实际上更改了令牌文件的文件内容。它将 token = dapi.... 替换为 token = [DEFAULT]。我正在使用启动任务在远程节点上的 Azure Batch 中部署我的解决方案。所以我必须做的(使用应用程序包)是压缩 .databrickscfg 文件并让 Batch 将其安装在节点上。然后运行

    databricks 配置 --host https://centralus.azuredatabricks.net --token-file .databrickscfg

然后 xcopy /Y 将 .databrickscfg 文件从 %AZ_BATCH_APP_PACKAGE_% 位置复制到指定的用户工作目录 %USERPROFILE%。然后运行任何 databricks 命令。

于 2021-10-15T16:56:25.530 回答