Azure ARM模板 - 将数组复制到对象数组

时间:2018-04-03 11:52:03

标签: arrays azure arm-template

我的ARM模板我试图将IP地址的字符串数组转换为包含对象的数组。

ARM模板最终应如下所示:

"ipRules": [
        {
          "value": "1.1.1.1",
          "action": "Allow"
        },
        {
          "value": "1.1.1.2",
          "action": "Allow"
        },
      ]

因此,为了获得上面的对象符号,我尝试使用Copy函数创建一个新变量来迭代原始的Ip数组:

"convertedAllowedIps": {
  "copy": [
    {
        "count": 2,
        "input": {
            "value": "[variables('allowedIps')[copyIndex()]]",
            "action": "Allow"
        }
    }
  ]
}

我这样分配了它:

  

" ipRules":" [变量(' convertedAllowedIps')]",

这会导致无法评估语言表达属性'错误。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

复制功能如下所示:

"convertedAllowedIps": {
  "copy": [
      {
        "name": "something",
        "count": 2,
        "input": {
          "value": "[variables('allowedIps')[copyIndex('something')]]",
          "action": "Allow"
      }
    }
  ]  
}

然后你会像这样引用它:

"[variables('convertedAllowedIps').something]"