You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在YAML Bash步骤中存储Databricks CLI生成的token供后续任务使用

解决方案

你可以通过jq工具解析JSON响应,再结合CI/CD系统的输出变量能力存储token_value,供后续任务调用。以下是基于你现有Azure DevOps YAML流水线的修改方案:

修改后的完整YAML配置

- bash: |
    echo {} > ~/.databricks-connect
    source py37-venv/bin/activate
    pip3 install wheel
    pip3 install databricks-cli
  displayName: Install Databricks CLI
# 给创建token的步骤添加name标识,用于后续引用输出变量
- bash: |
    source py37-venv/bin/activate
    databricks configure --token <<EOF
    ${DATABRICKS_HOST}
    ${DATABRICKS_AAD_TOKEN}
    EOF
    # 保存接口返回的JSON结果并提取token_value
    TOKEN_RESPONSE=$(databricks tokens create --lifetime-seconds 129600 --comment "My comment.")
    TOKEN_VALUE=$(echo $TOKEN_RESPONSE | jq -r '.token_value')
    # 将token设置为流水线输出变量,isOutput=true支持跨任务调用
    echo "##vso[task.setvariable variable=databricksToken;isOutput=true]$TOKEN_VALUE"
  displayName: Create Databricks Token
  name: CreateDatabricksToken

变量调用方式

  • 同一Job内的后续任务直接引用:$(CreateDatabricksToken.databricksToken)
  • 跨Job调用时需要在目标Job中添加依赖声明,示例如下:
jobs:
- job: CreateTokenJob
  steps:
  # 上述安装CLI、创建Token的步骤放在这个Job里
- job: UseTokenJob
  dependsOn: CreateTokenJob
  variables:
    # 从上游Job拉取输出变量
    DB_TOKEN: $[ dependencies.CreateTokenJob.outputs['CreateDatabricksToken.databricksToken'] ]
  steps:
  - bash: echo "Token is $(DB_TOKEN)"
    displayName: Use Databricks Token

补充说明

如果你的CI/CD环境没有预装jq,可以在安装Databricks CLI的步骤中新增安装命令:sudo apt install -y jq(Debian/Ubuntu环境)。

内容的提问来源于stack exchange,提问作者ibexy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:54:04