我正在创建Azure ARM模板。我使用copy
声明来避免重复代码。但是,我发现这通常会导致重复本身。考虑来自ARM Lab 6的以下示例:
"variables": {
"hubID": "[if(parameters('peer'),resourceId(parameters('hub').resourceGroup,'microsoft.Network/virtualNetworks/',parameters('hub').vnet.name),'')]","spokeID": "[resourceId('microsoft.Network/virtualNetworks/',parameters('spoke').vnet.name)]","copy": [
{
"name": "subnets","count": "[length(parameters('spoke').subnets)]","input": {
"name": "[parameters('spoke').subnets[copyIndex('subnets')].name]","addressprefix": "[parameters('spoke').subnets[copyIndex('subnets')].addressprefix]","id": "[concat(resourceId('microsoft.Network/virtualNetworks/',parameters('spoke').vnet.name),'/subnets/',parameters('spoke').subnets[copyIndex('subnets')].name)]"
}
}
]
}
parameters('spoke').subnets[copyIndex('subnets')]
表达式重复多次。是否有一种方法可以将这个copy
索引的表达式的结果分配给一个变量,然后可以在copy
声明中引用该变量?