使用Azure DevOps发布流水线搭配Azure Databricks Delta Lake LS的潜在bug
Azure Databricks Delta Lake 链接服务集群ID未自动参数化解决方案
问题根因
ADF 默认ARM模板导出规则中,仅将Azure Databricks Delta Lake链接服务的domain字段纳入自动参数化范围,clusterId字段不在默认参数化列表内,因此不会自动生成到ARMTemplateParametersForFactory.json参数文件中,这和S3、SAP BW等其他连接器的默认参数化规则配置不同。
解决步骤
- 进入ADF Studio的管理模块,找到ARM模板分类下的参数配置页
- 点击「编辑参数配置」,在打开的JSON配置文件中,追加Delta Lake链接服务的clusterId参数化规则:
"Microsoft.DataFactory/factories/linkedservices": { "AzureDatabricksDeltaLake": { "properties": { "typeProperties": { "clusterId": "=:string" } } } }
- 保存配置后重新发布ADF项目,新生成的参数文件将自动包含
AzureDatabricksDeltaLake_properties_typeProperties_clusterId参数 - 回到Azure DevOps发布流水线的参数覆盖区块,直接填写该参数和对应测试/生产环境的集群ID即可正常生效,不会再触发参数不存在的告警
补充说明
- 该自定义规则会对所有Azure Databricks Delta Lake类型的链接服务生效,所有同类型服务的clusterId都会被自动参数化
- 发布前可在ADF的ARM模板导出页提前预览参数列表,确认clusterId已被纳入后再执行发布操作,避免重复发布
内容的提问来源于stack exchange,提问作者Vitali Dedkov
相关产品推荐
相关产品推荐

