Azure ARM部署,从powershell传递动态变量

时间:2017-10-13 11:51:00

标签: powershell azure continuous-deployment azure-resource-manager arm-template

我创建了一个ARM模板,用于部署具有一组应用程序设置的服务。 ARM模板中的一个参数没有默认值。 目前,当我使用ISE运行部署脚本时,我被问到“为以下参数提供值:”(人类输入请求)。

这很好但是这个脚本会自动化。如何将此动态变量传递到此字段?

ARM:

"Paramters":{
    "dynamicParam": {
        "type": "string",
        "metadata": {
            "description": "dont know this until deployment"
        }
    }
}

部署powershell是锅炉板。

2 个答案:

答案 0 :(得分:6)

有几种方法可以做到这一点,最简单的方法是:

New-AzureRmResourceGroupDeployment ... -dynamicParam value

另一个(更酷)是使用您拥有的参数值创建一个哈希表,并将其映射到cmdlet:

$params = @{
   paramA = "test"
   paramB = "anotherTest"
}
New-AzureRmResourceGroupDeployment ... @params

另一种方法是预处理json参数文件并将其传递给部署

答案 1 :(得分:0)

只需在上述答案中添加-TemplateParameterObject即可传递$ params

{{1}}