Azure ARM 模板依赖于复制循环中的资源
Azure ARM template depend on resources in copy loop
我正在创建 ARM 模板,它接受子网的散列 table 并创建它们。但是,看起来我需要等待第一个子网准备好才能创建第二个子网等等。但我不知道如何在复制循环中依赖前一个子网。我的模板资源目前看起来像这样:
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[concat(parameters('vnetName') , '/' , parameters('subnets').settings[copyIndex()].name)]",
"location": "[variables('location')]",
"copy": {
"name": "subnetLoop",
"count": "[variables('subnetcount')]"
},
"dependsOn": ["[parameters('vnetName')]",
"[resourceId(variables('rgname'), 'Microsoft.Network/virtualNetworks/subnets', parameters('vNetName'), parameters('subnets').settings[copyIndex()].name)]"
],
"properties": {
"addressPrefix": "[parameters('subnets').settings[copyIndex()].addressPrefix]",
}
这不起作用,因为第一个子网无法引用自身。
您可以使用 "mode": "serial"
来解决这个问题。
"copy": {
"name": "subnetLoop",
"count": "[variables('subnetcount')]",
"mode": "serial"
},
但您确实需要查看属性循环,检查此 link:
我正在创建 ARM 模板,它接受子网的散列 table 并创建它们。但是,看起来我需要等待第一个子网准备好才能创建第二个子网等等。但我不知道如何在复制循环中依赖前一个子网。我的模板资源目前看起来像这样:
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[concat(parameters('vnetName') , '/' , parameters('subnets').settings[copyIndex()].name)]",
"location": "[variables('location')]",
"copy": {
"name": "subnetLoop",
"count": "[variables('subnetcount')]"
},
"dependsOn": ["[parameters('vnetName')]",
"[resourceId(variables('rgname'), 'Microsoft.Network/virtualNetworks/subnets', parameters('vNetName'), parameters('subnets').settings[copyIndex()].name)]"
],
"properties": {
"addressPrefix": "[parameters('subnets').settings[copyIndex()].addressPrefix]",
}
这不起作用,因为第一个子网无法引用自身。
您可以使用 "mode": "serial"
来解决这个问题。
"copy": {
"name": "subnetLoop",
"count": "[variables('subnetcount')]",
"mode": "serial"
},
但您确实需要查看属性循环,检查此 link: