Есть ли хороший способ проверить экспортированный шаблон Azure ARM? - PullRequest
0 голосов
/ 04 июля 2019

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

  1. Для практического развертывания шаблона я использую портал Azure и сначала создал некоторые ресурсы из Web app + SQL шаблона Azure.

    (1) Создать ресурс

    (2) вход Web App + SQL

    (3) установка имен ресурсов и чего-то еще, и готово.

  2. Затем перейдите в группу источников и экспортируйте шаблон ARM этих ресурсов.

    (1) Перейти к группе ресурсов

    (2) отметьте галочкой все флажки

    (3) Шаблон экспорта

    (4) Скачать

  3. Наконец, используйте этот template.json для развертывания.

    (1) Создать ресурс

    (2) введите template и выберите Template deployment (deploy using custom template)

    (3) Создайте свой собственный шаблон в редакторе

    (4) Загрузить файл

    (5) загрузить template.json, который был загружен до

    (6) Сохранить

    (7) Выберите группу ресурсов и задайте имя ресурса без дублирования для ресурса, созданного ранее.

    (8) Установите флажок «Я согласен» и нажмите кнопку «Купить».

Поэтому я не изменил ни одного ресурса, просто экспортировал и развернул, и развертывание не удалось.

Вот сообщение об ошибке:

{
  "code": "DeploymentFailed",
  "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.",
  "details": [
    {
      "code": "Conflict",
      "message": "{\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"InvalidParameterValue\",\r\n \"message\": \"Invalid value given for parameter Password. Specify a valid parameter value.\"\r\n }\r\n ]\r\n }\r\n}"
    }
  ]
}

После некоторых исследований я обнаружил, что, если я разверну SQL Server, мне нужно будет также установить параметр пароля администратора в шаблон.

Я хочу спросить, есть ли хороший способ создать шаблон ARM, который вам на самом деле не нужен, чтобы перейти к развертыванию и получить сообщение об ошибке, чтобы сообщить вам какой параметр отсутствует или что-то?

Или вы просто создаете файл json, развертываете и делаете try & error ...: S

1 Ответ

0 голосов
/ 04 июля 2019

Экспортируемые шаблоны, если честно, немного хитроумны. они экспортируют некоторые вещи, но не экспортируют другие, некоторые поля экспортируют, некоторые нет. они также имеют тенденцию создавать массу параметров, в то время как обычно вы можете избежать использования префиксных параметров + суффиксов ресурсов для имен, а некоторые другие вещи также могут быть жестко закодированы. Чтобы немного упростить свою жизнь, вы можете использовать расширение VSCode Azure Resource Manager , оно предлагает некоторую проверку целочисленности и некоторые синтаксические проверки, но некоторые значения неверны (смеется), и если шаблон не показывает никаких ошибок синтаксиса, он не значит, что это сработает ...

Таким образом, единственный реальный способ сделать это - попытаться развернуть \ исправить ошибки \ повторить.

...