Сведения о структуре и схеме шаблонов Azure Resource Manager

Завершено

Шаблон Azure Resource Manager содержит определение одного или нескольких ресурсов Azure в формате JSON, а также параметры и переменные, упрощающие настройку конфигурации.

Шаблон с самой простой структурой содержит следующие элементы:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "",
  "apiProfile": "",
  "parameters": {  },
  "variables": {  },
  "functions": [  ],
  "resources": [  ],
  "outputs": {  }
}
Имя элемента Обязательное поле Описание
$schema Да Расположение файла схемы в нотации объектов JavaScript (JSON), в котором описывается версия языка шаблона. Номер используемой вами версии зависит от области развертывания и вашего редактора JSON.

Если вы используете Visual Studio Code с расширением инструментов Azure Resource Manager, установите последнюю версию для развертывания групп ресурсов:
https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#

Другие редакторы (включая Visual Studio) могут не обрабатывать эту схему. Для таких редакторов используйте:
https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

Для развертывания подписок используйте:
https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#

Для развертывания групп управления используйте:
https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#

Для развертывания клиентов используйте:
https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#
contentVersion Да Версия шаблона (например, 1.0.0.0). Для этого элемента можно предоставить любое значение. Это значение позволяет задокументировать важные изменения в шаблоне. При развертывании ресурсов с помощью шаблона это значение позволяет убедиться в том, что используется нужный шаблон.
apiProfile No Версия API, которая служит в качестве коллекции версий API для типов ресурсов. Используйте это значение, чтобы не указывать версии API для каждого ресурса в шаблоне. Если указать версию профиля API и не указать версию API для типа ресурса, Resource Manager использует версию API для этого типа ресурса, определенного в профиле.

Свойство профиля API особенно полезно при развертывании шаблона в других средах, например Azure Stack и глобальной среде Azure. Используйте версию профиля API, чтобы шаблон автоматически применял версии, поддерживаемые в обеих средах. Список текущих версий профиля API и определенных в нем версий API ресурсов см. в статье Профиль API.

Дополнительные сведения см. в разделе Отслеживание версий с помощью профилей API.
parameters No Значения, которые предоставляются при выполнении развертывания для настройки развертывания ресурсов.
variables Нет Значения, используемые в виде фрагментов JSON в шаблоне для упрощения выражений на языке шаблона.
functions No Определяемые пользователем функции, доступные в шаблоне.
resources Да Типы ресурсов, которые развертываются или обновляются в группе ресурсов или подписке.
outputs No Значения, возвращаемые после развертывания.

Необязательная демонстрация