这就是我所做的。
我工作的公司有命名对象的约定。
获取这些名称的公式在 arm 模板中,我不想在 powershell 中实现另一段代码来重做这些公式。
所以我创建了一个带有空资源的 arm 模板文件。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"regionCode": {
"type": "string",
"defaultValue": "we"
},
"entity": {
"type": "string",
"defaultValue": "cdo"
},
"environment": {
"type": "string",
"defaultValue": "stag",
"allowedValues": [
"dev",
"test",
"stag",
"prod"
]
},
"plateform": {
"type": "string",
"defaultValue": "hub"
}
},
"variables": {
"rscPrefix": "[concat(parameters('regionCode'),parameters('entity'))]",
"cosmosDB": "[concat(variables('rscPrefix'),'cdb',parameters('environment'),parameters('plateform'))]"
},
"resources": [],
"outputs": {
"cosmosDB": {
"type": "string",
"value": "[variables('cosmosDB')]"
}
}
}
获取输出:
$paramsOutputJson= az group deployment create --name "AzConfiguration" --resource-group "YourGroupName" --template-file "$templateFilePath" --parameters "$parametersFilePath"
我可以在 devops 中轻松操作此配置,并在多个 arm 模板上保持某些部分相同,并通过 powershell 命令使用相同的配置。