Развертывание Azure ARM - TemplateLink не является существующим свойством выражения языка - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь развернуть брандмауэр в Azure.Когда я проверяю шаблон в Jenkins, он говорит, что все в порядке.Когда я пытаюсь запустить шаблон, в этот момент выдается ошибка:

  "name": "SettingUpVirtualNetwork",
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2017-05-10",
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "uri": "[uri(deployment().properties.templateLink.uri, 'vnet.json')]",
      "contentVersion": "1.0.0.1"

Ошибка гласит:

"Невозможно обработать выражения языка шаблона для ресурса" / subscription / **** / resourceGroups / networks-hub-rg / provider / Microsoft.Resources / deployments / SettingUpVirtualNetwork 'в строке' 1 'и столбце' 6637 '.' Свойство языкового выражения 'templateLink' не существует, доступные свойства 'template, параметры, mode, provisioningState '.' "

Теперь в руководстве Azure четко указано, что templateLink является абсолютно допустимым.Я использовал команду templateLink раньше без проблем, поэтому я не понимаю, почему она терпит неудачу на этот раз.Это из-за моего использования "templateLink.uri" в строке uri?

Кто-нибудь сталкивался с этой ошибкой раньше?Любой совет?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

это происходит потому, что вам нужно развернуть шаблон из URI, а не из локального хранилища, если вы это сделаете - ваш код будет работать

0 голосов
/ 08 декабря 2018

Когда дело доходит до неожиданного поведения при развертывании шаблонов ARM, я всегда пытаюсь проверить версию API.В вашем случае я бы попробовал следующий код:

  "name": "SettingUpVirtualNetwork",
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2018-05-01",
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "uri": "[uri(deployment().properties.templateLink.uri, 'vnet.json')]",
      "contentVersion": "1.0.0.1"

См. https://docs.microsoft.com/en-us/azure/templates/microsoft.resources/2018-05-01/deployments

...