如何将变量添加到数据工厂 ARM 模板

How to add variables to the data factory ARM Template

我在主管道中有一个包含 3 个变量的数据工厂。

这些变量包含环境设置,因此我希望将它们公开给 ARM 模板。当我将ARM模板导入新环境时,它们不在变量列表中,只显示"factoryid"。

我尝试将 arm-template-parameters-definition.json(如下所示)添加到我的 master 分支,但没有任何区别。这是

推荐的
"Microsoft.DataFactory/factories/pipelines": {
"properties": {
    "variables":{
        "*":{
            "defaultValue":"="
        }
    }
}

}

如何识别我的变量,以便设置环境配置?

您可以将参数添加到您的 Azure 数据工厂,方法是使用参数 JSON 文件并使用以下参数部署 ADF:

New-AzResourceGroupDeployment -Name MyARMDeployment -ResourceGroupName ADFTutorialResourceGroup -TemplateFile C:\ADFTutorial\ADFTutorialARM.json -TemplateParameterFile C:\ADFTutorial\ADFTutorialARM-Parameters.json 有关更多信息,请参阅以下文档:

https://docs.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-resource-manager-template#parameters-json

希望对您有所帮助。

你的例子还不错。请仔细检查您是否没有犯错:
1) 该文件必须位于根文件夹中并准确命名:arm-template-parameters-definition.json

2) 验证您的文件是否包含所有必要的括号和结构是否反映了您正在寻找的参数:

{
    "Microsoft.DataFactory/factories/pipelines": {
        "properties": {
            "variables": {
                "*": {
                    "defaultValue": "="
                }
            }
        }
    }
}

3) 确保文件已被推送到存储库并存在于那里。
4) 请记住,您必须在 ADF Designer (Author) 中单击 Publish 才能重新生成 ARM 模板
5) 所有更改都转到 adf-publish 分支。您是否在 那个分支 中检查了重新生成的文件?


让我向您展示我的极其简单的示例。
a) 带有变量 DbUser
的管道 PL_SimpleCopy
b) 文件:arm-template-parameters-definition.json

{
    "Microsoft.DataFactory/factories/pipelines": {
        "properties": {
            "variables": {
                "DbUser": {
                    "defaultValue": "=:-DbUserValue"
                }
            }
        }
    }
}

c) ADF_Publish 分支中的 ARM 模板。所选部分是您需要的参数: