Azure Resource Manager: все аргументы функции 'resourceId' должны содержать строковые литералы - PullRequest
0 голосов
/ 14 марта 2019

Я получаю следующую ошибку при реализации шаблона ARM с установленной доступностью '/ subscriptions / xxx / resourceGroups / mgRG / provider / Microsoft.Compute / virtualMachines / myVM' . «Невозможно оценить функцию языка шаблона 'resourceId': все аргументы функции должны быть строковыми литералами "

"availabilitySet": {
                    "id": "[resourceId(subscription(),parameters('RGName'),'Microsoft.Compute/availabilitySets',variables('ASName'))]"

Я пытался удалить subscription () из параметров, не помогло. Я должен сохранить параметры ('RGName'), потому что это не текущая группа ресурсов.

1 Ответ

1 голос
/ 14 марта 2019

ну, это то, что есть, он принимает только строки.

  1. subscription () вернет объект, а не строку
  2. поскольку вы используете подписку (), это означает, что вы ориентируетесь на ту же подписку, вы можете просто удалить эту часть
  3. parameters ('RGName') - требуется, только если ресурс находится в другой группе ресурсов. Это также должна быть строка
  4. variable ('ASName') - также должна быть строкой.

если он жалуется, что что-то не является строкой, то что-то не является строкой:)

...