Azure ARM 模板中的条件复制

Conditional Copy in Azure ARM template

我正在尝试创建一个 SQL 故障转移组。为此,我需要传递一组基于参数构建的数据库。我想根据某个字段过滤来自参数的数据库列表:

参数:

"databases": {
      "value": [
        {
          "name": "db1",
          "replicated": true
        }, 
        {
          "name": "db2",
          "replicated": false
        }, 
...
]}

现在我想创建一个变量并根据“已复制”字段过滤此列表。

copy": [
  {
    "name": "dbResourceIds",
    "count": "[length(parameters('databases'))]",
    "input": "<some filtering magic here>"
  }
]

A​​RM 支持吗?

条件选项是资源的属性,它不能存在于复制块中。所以如果你用一个副本创建多个资源,那么你可以使用资源中的条件属性。但是如果你想在资源的属性中使用副本,那么你就不能设置条件。查看 properties 的副本。