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

时间:2019-10-02 15:59:53

标签: azure-data-factory azure-data-factory-2 arm-template

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

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

enter image description here

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

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

}

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

2 个答案:

答案 0 :(得分:1)

您的例子还不错。请仔细检查您是否没有犯错:
1)该文件必须位于根文件夹中并精确命名为: arm-template-parameters-definition.json
enter image description here
2)验证文件中是否包含所有必需的括号,并且结构是否反映出您正在寻找的参数:

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

3)确保文件已被推送到仓库,并且在那儿。
4)请记住,必须在ADF Designer(作者)中单击发布以重新生成ARM模板
5)所有更改都转到 adf-publish 分支。您是否确实在那个分支中检查了重新生成的文件?


让我给我看一下我非常简单的例子。
a)使用变量 DbUser
的管道 PL_SimpleCopy Pipeline
b)文件: arm-template-parameters-definition.json

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

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

答案 1 :(得分:-1)

您可以通过具有参数JSON文件并使用以下参数部署ADF来将参数添加到Azure数据工厂:

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

希望这会有所帮助。