Краткое руководство. Создание и развертывание спецификации шаблона с помощью файла Bicep
Статья
В этом кратком руководстве описывается создание и развертывание спецификации шаблона с помощью файла Bicep. Спецификация шаблона развертывается в группу ресурсов, чтобы пользователи в организации могли развертывать ресурсы в Microsoft Azure. Спецификации шаблонов позволяют предоставлять общий доступ к шаблонам развертывания без необходимости предоставления пользователям доступа на изменение файла Bicep. В этом примере спецификации шаблона файл Bicep используется для развертывания учетной записи хранения.
При создании спецификации шаблона файл Bicep транскомпилируется в нотацию объектов JavaScript (JSON). Спецификация шаблона использует JSON для развертывания ресурсов Azure. В настоящее время вы не можете использовать портал Azure для импорта файла Bicep и создания ресурса спецификации шаблона.
Спецификация шаблона создается из локального файла Bicep. Скопируйте следующий пример и сохраните его на компьютере как main.bicep. В примерах используется путь C:\templates\main.bicep. Вы можете использовать другой путь, но вам нужно изменить команды.
Следующий файл Bicep используется на вкладках PowerShell и CLI. На вкладке Файл Bicep используется другой шаблон, объединяющий Bicep и JSON для создания и развертывания спецификации шаблона.
Спецификация шаблона — это тип ресурсов с именем Microsoft.Resources/templateSpecs. Чтобы создать спецификацию шаблона, используйте Azure CLI, Azure PowerShell или файл Bicep.
В этом примере используется имя группы ресурсов templateSpecRG. Вы можете использовать другое имя, но вам нужно изменить команды.
Спецификацию шаблона можно создать с помощью файла Bicep, но mainTemplateдолжен быть в формате JSON. Шаблон JSON не использует стандартный синтаксис JSON. Например, в нем нет запятых в конце строки, двойные кавычки заменяются одинарными, а символы обратной косой черты (\) используются для экранирования одинарных кавычек внутри выражений.
Скопируйте следующий шаблон и сохраните его на компьютере как main.bicep.
az deployment group create \
--resource-group templateSpecRG \
--template-file "C:\templates\main.bicep"
Развертывание спецификации шаблона
Используйте спецификацию шаблона для развертывания учетной записи хранения. В этом примере используется имя группы ресурсов storageRG. Вы можете использовать другое имя, но вам нужно изменить команды.
Параметры указываются точно так же, как и при развертывании файла Bicep. Повторно разверните спецификацию шаблона с параметром для типа учетной записи хранения.
Существует известная проблема при получении идентификатора спецификации шаблона и ее присвоении переменной в Windows PowerShell.
Разверните спецификацию шаблона.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Параметры указываются точно так же, как и при развертывании файла Bicep. Повторно разверните спецификацию шаблона с параметром для типа учетной записи хранения.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType="Standard_GRS"
Чтобы развернуть спецификацию шаблона с помощью файла Bicep, используйте модуль. Модуль ссылается на существующую спецификацию шаблона. Дополнительные сведения см. в разделе Файл в спецификации шаблона.
Скопируйте следующий модуль Bicep и сохраните его на компьютере как storage.bicep.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Вы можете добавить параметр и повторно развернуть спецификацию шаблона с другим типом учетной записи хранения. Скопируйте пример и замените файл storage.bicep. Затем повторно разверните спецификацию шаблона.
Если вы хотите позволить другим пользователям в организации развертывать спецификацию шаблона, необходимо предоставить им доступ на чтение. Роль читателя можно назначить группе Microsoft Entra для группы ресурсов, содержащей спецификации шаблонов, к которым требуется предоставить общий доступ. Дополнительные сведения см. в статье Учебник. Предоставление доступа группам к ресурсам Azure с помощью Azure PowerShell.
Обновление файла Bicep
После создания спецификации шаблона вы решили обновить файл Bicep. Чтобы продолжить работу с примерами на вкладках PowerShell или CLI, скопируйте пример и замените файл main.bicep.
Параметр storageNamePrefix задает значение префикса для имени учетной записи хранения. Переменная storageAccountName объединяет префикс с уникальной строкой.
Вместо создания спецификации шаблона для измененного шаблона добавьте новую версию с именем 2.0 в имеющуюся спецификацию шаблона. Пользователи могут выбрать любую версию для развертывания.
Разверните новую версию и используйте storageNamePrefix, чтобы указать префикс для имени учетной записи хранения.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageNamePrefix="demo"
Создайте новую версию спецификации шаблона. Скопируйте пример и замените файл main.bicep.
Параметр storageNamePrefix задает значение префикса для имени учетной записи хранения. Переменная storageAccountName объединяет префикс с уникальной строкой.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Очистка ресурсов
Чтобы очистить ресурсы, развернутые в этом кратком руководстве, удалите обе созданные группы ресурсов. Будут удалены группа ресурсов, спецификации шаблонов и учетные записи хранения.
Удалите группы ресурсов с помощью Azure PowerShell или Azure CLI.