Azure 如何输出在循环中创建的资源
我正在Azure中使用arm模板创建一个或多个公共IP地址。地址的数量取决于用户提供的参数 我正在使用下面的代码片段来实现这一点Azure 如何输出在循环中创建的资源,azure,azure-resource-manager,arm-template,Azure,Azure Resource Manager,Arm Template,我正在Azure中使用arm模板创建一个或多个公共IP地址。地址的数量取决于用户提供的参数 我正在使用下面的代码片段来实现这一点 "resources": [ { "type": "Microsoft.Network/publicIPAddresses", "name": "[concat(parameters('publicIPAddressesName'), '-', copyIndex())]", "apiVersion": "2017-10-01",
"resources": [
{
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(parameters('publicIPAddressesName'), '-', copyIndex())]",
"apiVersion": "2017-10-01",
"location": "[parameters('location')]",
"copy": {
"name": "publicIPAddressesCopy",
"count": "[parameters('publicIPAddressesCount')]"
},
"properties": {
"publicIPAddressVersion": "IPv4",
"publicIPAllocationMethod": "Static",
"idleTimeoutInMinutes": 4
}
},
...
],
我能够使用下面的代码片段输出几个IP地址
"outputs": {
"publicIPs": {
"type": "object",
"value": {
"VM-1": {
"publicIP": "[reference(resourceId('Microsoft.Network/publicIPAddresses', concat(parameters('publicIPAddressesName'), '-1')), '2017-10-01').ipAddress]"
},
"VM-2": {
"publicIP": "[reference(resourceId('Microsoft.Network/publicIPAddresses', concat(parameters('publicIPAddressesName'), '-2')), '2017-10-01').ipAddress]"
},
}
}
}
这不是很有用,因为新的公共IP地址可以少于或多于2个。问题是我不能在模板的输出部分使用循环
我如何输出所有创建的公共IP地址,知道它们的数量在每次模板运行之间都会发生变化?现在唯一的方法是在嵌套部署上使用复制循环,并根据copyIndex在每个部署中输出一个IP地址。我希望可以避免这样做,但这也是我找到的唯一方法。