如何“依赖”资源的所有副本?

时间:2019-06-27 21:52:10

标签: azure-resource-manager arm-template

如何设置一个DependOn来依赖某个资源的所有副本?假设我部署了0..N个网站,并且在部署流量管理器之前,我需要它们全部完成,因为TM需要资源ID。

目前,我只部署2个,因此我只枚举dependsOn数组中的两个项目,但是如果我决定要部署更多副本(由  [variables('tdfConfiguration')]数组),这取决于dependsOn动态地解决这一问题。

  "apiVersion": "[variables('apiVersion')]",
  "type": "Microsoft.Resources/deployments",
  "name": "[concat(resourceGroup().name, '-', variables('tdfConfiguration')[0]['roleName'], '-tmprofile')]",
  "dependsOn": [
    "[concat(resourceGroup().Name, '-', variables('tdfConfiguration')[0]['roleName'], '-website')]",
    "[concat(resourceGroup().Name, '-', variables('tdfConfiguration')[1]['roleName'], '-website')]"
  ],

1 个答案:

答案 0 :(得分:1)

相当容易,请使用副本名称。假设您有这样的资源:

"name": xxx,
"type": zzz,
...
"copy": {
    "name": "myCopy",
    "count": 0..N
}

您可以使用以下independOn依赖于所有副本:

"dependsOn": [ "myCopy" ]

阅读:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-multiple#depend-on-resources-in-a-loop