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

如何从Azure DevOps Pipeline传变量到Databricks Asset Bundle的databricks.yml

解决Azure DevOps Pipeline变量传递到Databricks Asset Bundle的问题

你的问题核心在于databricks.yml的变量引用语法不符合DAB规则,同时环境变量的传递细节存在偏差,以下是具体修正方案:

1. 修正databricks.yml的变量引用格式

Databricks Asset Bundle使用Jinja2风格的模板语法引用外部变量,而非直接的Shell变量格式${xxx}。需将${DATABRICKS_HOST}替换为{{ bundle.vars.DATABRICKS_HOST }},修改后的配置如下:

bundle:
  name: test

include:
  - resources/*.yml

targets:
  dev:
    mode: development
    default: true
    workspace:
      host: {{ bundle.vars.DATABRICKS_HOST }}

2. 调整Azure DevOps Pipeline配置

方案一:通过env块注入环境变量

利用ADO Pipeline的env块直接传递带BUNDLE_VAR_前缀的变量,该前缀是DAB识别外部变量的标识。修正后的Pipeline配置:

- bash: |
    databricks bundle validate
    databricks bundle deploy
  displayName: 'DAB'
  env:
    DATABRICKS_TOKEN: $(DATABRICKS_TOKEN)
    BUNDLE_VAR_DATABRICKS_HOST: $(DATABRICKS_HOST)
  workingDirectory: $(ArtifactRoot)

注意:需确保env中的变量名前缀为BUNDLE_VAR_,且后缀与databricks.yml中bundle.vars.后的名称完全一致。

方案二:在bash命令中临时设置变量

如果需要在命令行临时覆盖变量,需保证变量与DAB命令在同一个Shell进程中生效,正确写法如下:

export BUNDLE_VAR_DATABRICKS_HOST="${DATABRICKS_HOST}"
databricks bundle validate
databricks bundle deploy

或者合并为一行:

BUNDLE_VAR_DATABRICKS_HOST="${DATABRICKS_HOST}" databricks bundle validate && databricks bundle deploy

3. 手动执行命令的修正

手动验证时,需严格遵循BUNDLE_VAR_前缀规则,示例命令:

BUNDLE_VAR_DATABRICKS_HOST="https://your-databricks-instance.cloud.databricks.com" databricks bundle validate

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:15:02