我正在构建一个ARM(Azure resources )模板来创建相同类型的多个资源。比方说,SQL服务器的度量警报。我有:
基本上,我总共需要180个资源。有任何方法我可以建立和与所有可能的组合这些变量。也就是说,对于每台服务器,我需要监视3种度量标准,根据度量级别的不同,每种指标都可以触发3种可能的警报级别。
当然,我想到的是这些数组的笛卡儿积,然后在其上执行一个copy循环来填充模板属性。然而,它看起来不像ARM支持这一点。
是不是应该考虑编写一个代码生成器来创建一个模板,而不是试图弯曲ARM json,而不是使用ARM呢?
发布于 2021-02-23 05:53:21
关于这个问题,您可以将copy元素添加到模板的参考资料部分。这样做之后,您可以动态地设置要部署的资源数量。有关更多细节,请参阅这里和这里。
例如
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"org": {
"type": "array",
"defaultValue": [
"contoso",
"fabrikam",
"coho"
]
}
},
"resources": [
{
"apiVersion": "2017-06-01",
"type": "Microsoft.Storage/storageAccounts",
"name": "[concat(parameters('org')[copyIndex()], uniqueString(resourceGroup().id))]",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {},
"copy": {
"name": "storagecopy",
"count": "[length(parameters('org'))]"
}
}
],
"outputs": {}
}https://stackoverflow.com/questions/66325604
复制相似问题