Azure ARM 模板:DependsOn 条件语句

Azure ARM Template: DependsOn conditional statement

有谁知道是否有办法将内联条件语句放入 dependsOn 元素中?我想提出一个条件,如果 nestedTemplateA 已经存在或者 nestedTemplateB 已经存在,资源将部署。

感谢任何帮助!

  "dependsOn": [
    "[or(nestedTemplateA, nestedTemplateB)]"
  ],

好的,首先,你可以依赖于某些东西的存在(严格来说),你只能依赖于在同一个(!!)模板中成功创建的资源。所以如果你的模板有这个结构:

resource1 - nested template
resource2 - nested template
resource3 - the one you are asking about

你只需要将其用作 dependsOn:

"dependsOn": [
    "resource1",
    "resource2"
]

但是,正如您的问题所写:"resource will deploy on if either nestedTemplateA exists already OR if nestedTemplateB exists already."我真的很难确定自己是否回答了正确的问题。如果这不是您要问的问题,如果您需要更多帮助(也许可以重新表述您的问题),能否请您对此答案发表评论?我会编辑这个答案,干杯!

截至今天,Azure 已在 Define the order for deploying resources in ARM templates

中添加了对条件 dependsOn 的支持

这可以实现您正在寻找的确切功能。也就是说:你可以简单地将所有条件依赖添加到 depondsOn 数组中。那些评估为 false 的依赖项将被删除。