如何在 Yaml Bash 步骤中存储从 CLI 创建的 Databricks 令牌
How to store Databricks token created from CLI in Yaml Bash step
我有以下 Yaml 脚本。我正在寻找如何获取创建的令牌并将其存储到变量中:
- bash: |
echo {} > ~/.databricks-connect#
source py37-venv/bin/activate
pip3 install wheel
pip3 install databricks-cli
displayName: Install Databricks CLI
- bash: |
source py37-venv/bin/activate
databricks configure --token <<EOF
${DATABRICKS_HOST}
${DATABRICKS_AAD_TOKEN}
EOF
databricks tokens create --lifetime-seconds 129600 --comment "My comment."
上面命令returns的响应是这样json:
{
"token_value": "dapi1a23b45678901cd2e3fa4bcde56f7890",
"token_info": {
"token_id": "1ab23cd45678e90123f4567abc8d9e012345fa67890123b45678cde90fa123b4",
"creation_time": 1621287738473,
"expiry_time": 1621417338473,
"comment": "My comment."
}
}
我想存储上面 token_value 的值,以便我可以在下面的另一个任务中使用它。
您可以使用jq
解析响应json以获得token值,例如:
token=$(databricks tokens create --lifetime-seconds 129600 --comment "My comment." | jq .token_value --raw-output)
用logging command设置$token
为变量(可以设置为secret或不设置,点击link查看使用情况),然后在下一个作业中使用($(setvar.databrickstoken)
).
echo "##vso[task.setvariable variable=databrickstoken;issecret=true;isoutput=true]$token"
我有以下 Yaml 脚本。我正在寻找如何获取创建的令牌并将其存储到变量中:
- bash: |
echo {} > ~/.databricks-connect#
source py37-venv/bin/activate
pip3 install wheel
pip3 install databricks-cli
displayName: Install Databricks CLI
- bash: |
source py37-venv/bin/activate
databricks configure --token <<EOF
${DATABRICKS_HOST}
${DATABRICKS_AAD_TOKEN}
EOF
databricks tokens create --lifetime-seconds 129600 --comment "My comment."
上面命令returns的响应是这样json:
{
"token_value": "dapi1a23b45678901cd2e3fa4bcde56f7890",
"token_info": {
"token_id": "1ab23cd45678e90123f4567abc8d9e012345fa67890123b45678cde90fa123b4",
"creation_time": 1621287738473,
"expiry_time": 1621417338473,
"comment": "My comment."
}
}
我想存储上面 token_value 的值,以便我可以在下面的另一个任务中使用它。
您可以使用jq
解析响应json以获得token值,例如:
token=$(databricks tokens create --lifetime-seconds 129600 --comment "My comment." | jq .token_value --raw-output)
用logging command设置$token
为变量(可以设置为secret或不设置,点击link查看使用情况),然后在下一个作业中使用($(setvar.databrickstoken)
).
echo "##vso[task.setvariable variable=databrickstoken;issecret=true;isoutput=true]$token"