对于某些背景,我正在开发Azure数据工厂中,在其中我使用生成的ARM模板将其部署到其他测试/产品环境。
我遇到的问题是尝试引用Azure Databricks链接服务中的现有群集ID时。该群集ID传递到不存在该群集的其他帐户中。该链接服务已在多个管道中使用,因此我希望能够在一处对其进行更改。
我希望能够拥有一个可以在Azure DevOps发布管道中覆盖以映射到正确的环境群集的参数。但是,随着Data Factory生成ARM模板,我对此没有太多控制。
这是手臂模板的示例。
"name": "[concat(parameters('factoryName'), '/my-linked-service')]",
"type": "Microsoft.DataFactory/factories/linkedServices",
"apiVersion": "2018-06-01",
"properties": {
"description": "Databricks connection",
"parameters": {
"test": {
"type": "string"
}
},
"annotations": [],
"type": "AzureDatabricks",
"typeProperties": {
"domain": "https://australiaeast.azuredatabricks.net",
"accessToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "keyName",
"type": "LinkedServiceReference"
},
"secretName": "secretName"
},
"existingClusterId": "1234-56789-abc123"
}
答案 0 :(得分:0)
默认情况下,仅某些字段被参数化。但是您可以设置模板以自定义它们。它不是很漂亮-完整的指南在这里:https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment#use-custom-parameters-with-the-resource-manager-template
对于您的示例,我有一个看起来像这样的模板:
{
"Microsoft.DataFactory/factories/linkedServices": {
"*": {
"properties": {
"typeProperties": {
"existingClusterId": "="
}
}
}
}
}
该文件必须命名为arm-template-parameters-definition.json并放在存储库的根目录中。