Если при развертывании ресурсов Azure не удается использовать шаблоны Azure Resource Manager (шаблоны ARM) или файлы Bicep, то выдается код ошибки. В этой статье описано, как найти коды ошибок, чтобы устранить проблему. Дополнительные сведения о кодах ошибок см. в распространенных ошибках развертывания.
Типы ошибок
Существует три типа ошибок, связанных с развертыванием.
Ошибки проверки: происходят до начала развертывания и вызываются синтаксическими ошибками в файле. Редактор кода, например Visual Studio Code, может определить эти ошибки.
Ошибки проверки перед запуском происходят, когда команда развертывания выполняется, но ресурсы не развертываются. Эти ошибки обнаруживаются без запуска развертывания. Например, если значение параметра является неверным, то в ходе предварительной проверки будет обнаружена ошибка.
Ошибки развертывания: возникают в процессе развертывания, и их можно обнаружить только путем оценки хода выполнения развертывания в среде Azure.
Ошибки всех типов возвращают код ошибки, с помощью которого можно устранить неполадки развертывания. Сведения об ошибках проверки перед запуском отображаются в журнале действий, но не отображаются в журнале развертывания. BICEP-файл с синтаксическими ошибками не компилируется в JSON-файл и не отображается в журнале действий.
Шаблоны проверяются во время развертывания, и отображаются коды ошибок. Перед запуском развертывания вы можете обнаружить ошибки проверки и предварительного развертывания с помощью проверочных тестов с использованием Azure PowerShell или Azure CLI.
Шаблон ARM можно развернуть из портала. Если шаблон имеет ошибки синтаксиса, при попытке запустить развертывание вы увидите ошибку проверки. Дополнительные сведения см. в разделе Развертывание ресурсов с помощью настраиваемого шаблона.
В следующем примере попытка развертывания учетной записи хранения возникает ошибка проверки.
Выберите сообщение для получения дополнительных сведений. В шаблоне имеется ошибка синтаксиса с кодом ошибки InvalidTemplate. В сводке показано, что в выражении отсутствует закрывающая скобка.
В результатах отображаются коды ошибок типа InvalidTemplateDeployment или AccountNameInvalid, которые можно использовать для устранения неполадок и исправления шаблона.
Для файла Bicep вывод проблемы с проверкой синтаксиса показывает ошибку параметра.
Test-AzResourceGroupDeployment: Cannot retrieve the dynamic parameters for the cmdlet.
Cannot find path '/tmp/11111111-1111-1111-1111-111111111111/main.json' because it does not exist.
Чтобы получить дополнительные сведения об устранении неполадок, воспользуйтесь командой сборки Bicep. Результат показывает номер строки и столбца каждой ошибки в скобках и сообщение об ошибке.
bicep build main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Другие области
Существуют командлеты Azure PowerShell для проверки шаблонов развертывания для подписки, группы управления и областей клиента.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
В результатах отображаются коды ошибок типа InvalidTemplateDeployment или AccountNameInvalid, которые можно использовать для устранения неполадок и исправления шаблона.
Для файла Bicep результат показывает номер строки и столбца каждой ошибки в скобках и сообщение об ошибке.
az deployment group validate \
--resource-group examplegroup \
--template-file main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Другие области
Существуют команды Azure CLI для проверки шаблонов развертывания для подписки, группы управления и областей клиента.
Для развертывания ресурса Azure обрабатывается несколько операций. Ошибки развертывания происходят, если операция прошла проверку, но завершилась сбоем во время развертывания. Вы можете просматривать сообщения о каждой операции развертывания и каждом развертывании для группы ресурсов.