Отчет о копировании шаблона ARM Дубликаты, когда их нет - PullRequest
0 голосов
/ 24 августа 2018

У меня есть шаблон ARM, который пытается настроить правила брандмауэра для хранилища озера данных Azure на основе массива параметров брандмауэра.Список параметров для правил IP различен, дублирования нет, однако шаблон сообщает о дублировании при попытке развертывания.

Есть идеи, где что-то идет не так или как устранить неполадки?

Свойства хранилища озера данных Azure (в шаблоне ARM)

"copy": [
      {
        "name": "firewallRules",
        "count": "[length(parameters('firewallRules'))]",
        "input": {
          "name": "[parameters('firewallRules')[copyIndex('firewallRules')].name",
          "properties": {
            "startIpAddress": "[parameters('firewallRules')[copyIndex('firewallRules')].startIp]",
            "endIpAddress": "[parameters('firewallRules')[copyIndex('firewallRules')].endIp]"
          }
        }
      }
    ]

Сообщение об ошибке:

[ОШИБКА] New-AzureRmResourceGroupDeployment: 18:57:28 - Сбой ресурса Microsoft.DataLakeStore / account 'myadlsname' с сообщением [ERROR] '{[ОШИБКА] «ошибка»: {[ОШИБКА] «код»: «DuplicatedNestedResource», [ОШИБКА] «сообщение»: «В теле есть правила брандмауэра с тем же именем».[ОШИБКА]} [ОШИБКА]} '

Параметры:

  "FirewallRules": {
          "value": [
            {
              "name": "Allow_1",
              "startIp": "1.1.1.1",
              "endIp": "1.1.1.1"
            },
            {
              "name": "Allow_2",
              "startIp": "2.2.2.2",
              "endIp": "2.2.2.2"
            },
            {
              "name": "Allow_3",
              "startIp": "3.3.3.3",
              "endIp": "3.3.3.3"
            }
          ]
        }

1 Ответ

0 голосов
/ 03 октября 2018

Я думаю, что вы перепутали скобки в этой строке:

"name": "[parameters('firewallRules')[copyIndex('firewallRules')].name",

Это должно выглядеть так:

"name": "[parameters('firewallRules')[copyIndex('firewallRules')].name]",

Последняя закрывающая скобка отсутствует.Если скобки не совпадают, полное выражение не будет обработано.Это приведет к тому же имени во втором цикле.

Привет, KirK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...