Azure ARM 部署,从 powershell 传递动态变量
Azure ARM deployment, passing dynamic variables from powershell
我创建了一个 ARM 模板来部署具有一组应用程序设置的服务。
我在 ARM 模板中的一个参数没有默认值。
目前,当我 运行 使用 ISE 的部署脚本时,我被询问 "Supply values for the following parameters:" (人工输入请求)。
没关系,但此脚本将自动执行。如何将此动态变量通过管道传输到此字段?
手臂:
"Paramters":{
"dynamicParam": {
"type": "string",
"metadata": {
"description": "dont know this until deployment"
}
}
}
部署powershell是样板。
有几种方法可以做到这一点,最简单的方法是:
New-AzureRmResourceGroupDeployment ... -dynamicParam value
另一个(更酷)是使用您拥有的参数值创建一个散列 table,并将其与 cmdlet 匹配:
$params = @{
paramA = "test"
paramB = "anotherTest"
}
New-AzureRmResourceGroupDeployment ... @params
另一种方法是预处理json参数文件并将其传递给部署
只是想添加到上面的答案使用 -TemplateParameterObject 传递 $params
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name $deploymentName -TemplateFile $templateFilePath -TemplateParameterObject $params;
在通过 ARM 模板创建资源部署时,在 Az powershell 中传递动态参数是最简单正确的方法。
请使用以下 cmdlet 来实现。
az group deployment create --name TempGroup --resource-group insightsrg --parameters '{\"actionGroupName\": {\"value\": \"jsonActionGroup\"},\"actionGroupShortName\": {\"value\": \"JAG\"}}' --template-file "C:\HM\ARM\policy\actiongroup\actiongroup.json"
我创建了一个 ARM 模板来部署具有一组应用程序设置的服务。 我在 ARM 模板中的一个参数没有默认值。 目前,当我 运行 使用 ISE 的部署脚本时,我被询问 "Supply values for the following parameters:" (人工输入请求)。
没关系,但此脚本将自动执行。如何将此动态变量通过管道传输到此字段?
手臂:
"Paramters":{
"dynamicParam": {
"type": "string",
"metadata": {
"description": "dont know this until deployment"
}
}
}
部署powershell是样板。
有几种方法可以做到这一点,最简单的方法是:
New-AzureRmResourceGroupDeployment ... -dynamicParam value
另一个(更酷)是使用您拥有的参数值创建一个散列 table,并将其与 cmdlet 匹配:
$params = @{
paramA = "test"
paramB = "anotherTest"
}
New-AzureRmResourceGroupDeployment ... @params
另一种方法是预处理json参数文件并将其传递给部署
只是想添加到上面的答案使用 -TemplateParameterObject 传递 $params
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name $deploymentName -TemplateFile $templateFilePath -TemplateParameterObject $params;
在通过 ARM 模板创建资源部署时,在 Az powershell 中传递动态参数是最简单正确的方法。
请使用以下 cmdlet 来实现。
az group deployment create --name TempGroup --resource-group insightsrg --parameters '{\"actionGroupName\": {\"value\": \"jsonActionGroup\"},\"actionGroupShortName\": {\"value\": \"JAG\"}}' --template-file "C:\HM\ARM\policy\actiongroup\actiongroup.json"