关于New-AzResourceGroupDeployment的-Location1与-Location2参数来源的问询
问题解答:
New-AzResourceGroupDeployment中的-Location1和-Location2参数来源 这些参数并非New-AzResourceGroupDeployment cmdlet的内置参数,它们是你部署的ARM模板(即命令中的az104-05-vnetvm-loop-template.json)里定义的自定义模板参数。
核心原理
当使用New-AzResourceGroupDeployment部署ARM模板时,PowerShell支持直接通过命令行传递模板中声明的任意自定义参数:
- 只要命令行参数名称和模板里定义的参数名称完全匹配,就会自动映射到模板对应的参数上
- 这类参数不需要出现在
New-AzResourceGroupDeployment的官方参数列表中,也不会触发报错
验证方式
你可以打开对应的az104-05-vnetvm-loop-template.json文件,查看parameters节点,里面肯定包含location1和location2的定义,结构大致如下:
"parameters": { "location1": { "type": "string", "metadata": { "description": "部署第一个虚拟网络及相关资源的区域" } }, "location2": { "type": "string", "metadata": { "description": "部署第二个虚拟网络及相关资源的区域" } } }
你通过命令行传入的-location1 $location1和-location2 $location2,本质是给模板里的这两个自定义参数赋值,甚至可以覆盖-TemplateParameterFile参数文件里的默认值。
内容的提问来源于stack exchange,提问作者iRon
相关产品推荐
相关产品推荐

