我在 Azure DevOps 中运行以下任务,它总是挂起输入?为什么我的 bash 自动供应不起作用?
databricksUrl=https://...
databricksToken=*****
databricks configure --token << EOF
$(databricksUrl)
$(databricksToken)
EOF
我在 Azure DevOps 中运行以下任务,它总是挂起输入?为什么我的 bash 自动供应不起作用?
databricksUrl=https://...
databricksToken=*****
databricks configure --token << EOF
$(databricksUrl)
$(databricksToken)
EOF
我也有同样的问题。我的发布管道过去运行良好,现在即使没有进行任何更改,它也卡在了身份验证步骤。
更新:问题是由databricks-cli
(0.12.0)的新版本引起的。使用 0.11.0 版本将解决问题:
python -m pip install --upgrade pip setuptools wheel databricks-cli==0.11.0
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
您尝试使用以下内联 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。
我为此苦苦挣扎了好几天。我看到的两件事是,当您准备好令牌文件(在我的 Windows 案例中为 %user%/.databrickscfg)并执行
databricks configure --host https://centralus.azuredatabricks.net --token-file .databrickscfg
用您的实际 URL替换https://centralus.azuredatabricks.net
它不会给出成功状态消息。
它实际上更改了令牌文件的文件内容。它将 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 命令。