Как работает Bicep

Завершено

Вы разработали представление о языке шаблонов Bicep и преимуществах, предоставляемых для разработки шаблонов. Прежде чем начинать процесс написания шаблонов Bicep для подготовки ресурсов, необходимо больше узнать о том, как работает Bicep.

В этом уроке вы узнаете, как Bicep работает с Azure Resource Manager.

Развертывание Bicep

Из предыдущего урока вы узнали, что Bicep — это предметно-ориентированный язык, который разработан для определенного сценария или домена. Bicep создан для упрощения развертывания и настройки ресурсов Azure.

При развертывании ресурса или ряда ресурсов в Azure вы отправляете шаблон Bicep в службу Resource Manager, которая все еще требует шаблоны JSON. Средства, встроенные в Bicep, преобразуют шаблон Bicep в шаблон JSON. Этот процесс, при котором шаблон ARM обрабатывается как промежуточный язык, называется транспиляцией. Преобразование происходит автоматически при отправке развертывания или его можно выполнить вручную.

Diagram that shows the workflow from a template author, a Bicep template, an emitted JSON template, and a deployment to Azure.

Примечание.

Транспиляция — это процесс преобразования исходного кода, написанного на одном языке, в другой язык.

Последние версии Azure CLI и Azure PowerShell поддерживают встроенную поддержку Bicep. Для развертывания шаблонов Bicep и JSON можно использовать те же команды развертывания. Например, следующая команда развертывает шаблон Bicep в группе ресурсов под названием storage-resource-group.

az deployment group create \
  --template-file main.bicep \
  --resource-group storage-resource-group

После отправки этого развертывания Resource Manager проверяет, что уже развернуто в Azure. Затем она просматривает, что вы пытаетесь развернуть, и настраивает последовательность действий для достижения этого состояния. Все эти действия подразумевают вызов API Resource Manager.

Вы можете просмотреть шаблон JSON, отправленный в Resource Manager с помощью команды bicep build. В следующем примере шаблон Bicep преобразуется в соответствующий шаблон JSON:

bicep build main.bicep

Сравнение JSON и Bicep

Bicep предоставляет более простой синтаксис, используемый при написании шаблонов. Взгляните на следующие примеры двух шаблонов. Шаблон слева является шаблоном Bicep. Шаблон справа является шаблоном JSON.

Screenshot that compares Bicep code on the left and the corresponding JSON code on the right.

Обратите внимание, что шаблон Bicep содержит меньше кода. Синтаксис легко читать и понимать, также здесь нет сложных выражений, как в шаблоне JSON (справа).

Примечание.

Одновременный просмотр эквивалентных файлов JSON и Bicep см. на тестовой площадке Bicep.