Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В Azure Resource Manager (ARM) проверка на стороне сервера состоит из двух отдельных частей:
- Статическая проверка, с которой взаимодействуют разработчики.
- Предварительная валидация поставщика ресурсов, которая является внутренним этапом валидации поставщика ресурсов.
Статические проверки проверяют аспекты шаблона, который ARM может оценивать без вызова поставщиков ресурсов, таких как:
- Структура шаблона и правильность схемы
- Определения параметров и основные ограничения значений
- Оценка выражений и согласованность шаблонов
Эти проверки гарантируют, что шаблон синтаксически и структурно действителен перед более глубокой проверкой.
Процесс предварительной проверки является внутренним процессом Azure Resource Manager (ARM), выполняемым на этапе валидации. Его целью является ускорение обнаружения ошибок путем предотвращения развертываний, которые, как известно, завершаются сбоем. На этом шаге ARM вызывает соответствующих поставщиков ресурсов, чтобы убедиться, что развертывание возможно без создания или изменения ресурсов. Эта часть проверяет:
Конфликты имен ресурсов: во время предварительной проверки ARM оценивает окончательные, разрешенные имена ресурсов и проверяет, нарушают ли они правила уникальности или именования у поставщика услуг. Эта проверка происходит после того, как такие выражения, как
concat()илиuniqueString(), разрешены. Предварительная проверка обычно завершается ошибкой, когда:- Глобально уникальное имя (например, имя учетной записи хранения) уже занято.
- Имя ресурса нарушает ограничения именования для конкретного поставщика.
Правильность области. Предварительная проверка гарантирует, что ресурсы развертываются в допустимой области и что команда развертывания соответствует типам ресурсов, объявленным в шаблоне. Эта проверка включает в себя следующее:
- Совместима ли область развертывания (группа ресурсов, подписка, группа управления, клиент) с типами ресурсов
- Существуют ли необходимые родительские области. Например, развертывание ресурса, предназначенного для группы ресурсов, на уровне подписки без выделенной группы ресурсов.
Разрешения RBAC (имеете ли вы разрешение на развертывание этих типов ресурсов): Во время предпролётной проверки ARM проверяет, что у вызывающего объекта есть достаточные разрешения на уровне развертывания для создания или изменения запрошенных ресурсов. Если идентификатор не имеет разрешений, развертывание отклоняется перед выполнением операций. Типичные сбои разрешений предварительного полета включают:
- Отсутствуют разрешения на запись для типа ресурса
- Недостаточно разрешений на целевом уровне доступа
- Обязательные поставщики ресурсов не зарегистрированы
Базовая совместимость поставщика и API: предварительная проверка подтверждает следующее:
- Зарегистрированы указанные поставщики ресурсов
- Указанные версии API допустимы и поддерживаются.
- Тип ресурса распознается Azure Resource Manager
Если поставщик не зарегистрирован или версия API недопустима, ARM завершает развертывание во время предварительной проверки.
Если какая-либо из этих проверок завершается ошибкой, развертывание никогда не запускается.
Ограничения
Предварительная проверка — это процесс наилучших усилий и не выявляет все ошибки, возникающие во время развертывания. Он не может обнаруживать ошибки среды выполнения (например, ошибки в пользовательском расширении скрипта во время выполнения), а его проверка может быть неполной, если ресурсы зависят от значений, которые еще недоступны, например динамически созданных свойств из других ресурсов.
Запуск предварительной проверки
Предварительная проверка выполняется автоматически при использовании команды проверки развертывания или команд в стиле "what-if". Например, эти операции выполняют предварительную проверку:
Проверка ARM JSON или Bicep в Azure CLI или PowerShell
az deployment group validate \ --resource-group myResourceGroup \ --template-file main.bicepшаг портала Azure Проверить и создать
В настоящее время портал Azure поддерживает только развертывание шаблонов JSON ARM. Дополнительные сведения см. в статье Deploy ARM templates with the Azure portal.
Что, если
Функция "What-if" включает предварительные проверки перед вычислением изменений, если не настроена на их пропуск. Дополнительные сведения см. в разделе "Выполнение операции "что если".
Ошибки предварительной проверки отображаются в журнале действий, но не в журнале развертывания, так как развертывание никогда не началось.
Дальнейшие действия
- Сведения об использовании операции what-if см. в разделе Bicep What-If: Preview Changes до развертывания.