如何使用导出的ARM模板template.json与parameters.json?是否需手动添加默认值?
处理导出的ARM模板分离文件的方法
不用手动给template.json加默认值,有几种更高效的方式利用parameters.json里的参数值:
1. 部署时直接关联参数文件
不管用CLI、PowerShell还是Azure门户,都可以直接把两个文件配合使用,无需手动输入参数:
- Azure CLI:执行命令
az deployment group create --resource-group <你的资源组名称> --template-file ./template.json --parameters ./parameters.json - Azure PowerShell:执行命令
New-AzResourceGroupDeployment -ResourceGroupName <你的资源组名称> -TemplateFile .\template.json -TemplateParameterFile .\parameters.json - Azure门户:在部署自定义模板的步骤中,选择「编辑参数」,点击「上传文件」选择
parameters.json,系统会自动加载所有参数值,不用手动填写
2. 合并参数默认值到template.json(可选)
如果确实需要让template.json自带默认参数值(比如做成可直接复用的模板规范),可以手动或脚本自动合并:
- 手动合并:打开
template.json的parameters节点,给每个参数添加defaultValue字段,值取自parameters.json中对应的参数值。例如:
原template参数:
修改后:"parameters": { "virtualMachineName": { "type": "string" } }"parameters": { "virtualMachineName": { "type": "string", "defaultValue": "my-exported-vm" } } - 脚本自动合并:可以写简单的PowerShell脚本批量处理,读取两个JSON文件,将
parameters.json的值注入到template.json的参数默认值中,避免手动重复操作
3. 模板规范的参数处理
如果要将模板保存为模板规范,可以在创建规范时,先通过上述CLI/PowerShell方式结合参数文件验证部署,或者先合并默认值到template.json后再创建规范,这样后续从模板规范部署时就会自动填充默认参数值,无需手动输入
内容的提问来源于stack exchange,提问作者whatever
相关产品推荐
相关产品推荐

