Краткое руководство. Создание BICEP-файлов с помощью Visual Studio Code
В этом кратком руководстве описано, как использовать Visual Studio Code для создания Bicep-файла. Вы создаете учетную запись хранения и виртуальную сеть. Вы также узнаете, как расширение Bicep обеспечивает безопасность типов, проверку синтаксиса и автозавершение для упрощения разработки.
Visual Studio поддерживает аналогичный интерфейс разработки. Дополнительные сведения см . в кратком руководстве. Создание файлов Bicep с помощью Visual Studio .
Необходимые компоненты
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Сведения о настройке среды для разработки Bicep см. в разделе Установка средств Bicep. После выполнения этих действий вы установили Visual Studio Code и расширение Bicep. У вас также есть последняя версия Azure CLI или модуль Azure PowerShell.
Добавление фрагмента ресурсов
Visual Studio Code с расширением Bicep предоставляет предопределенные фрагменты кода для упрощения разработки. В этом кратком руководстве вы добавите фрагмент кода, который создает виртуальную сеть.
Запустите Visual Studio Code и создайте файл с именем main.bicep. В main.bicep введите виртуальную сеть, выберите res-vnet из списка, а затем нажмите клавишу TAB или ВВОД.
Совет
Если вы не видите эти параметры IntelliSense в Visual Studio Code, убедитесь, что вы установили расширение Bicep, как указано в предварительных требованиях. Если расширение установлено, подождите некоторое время после открытия файла Bicep. Обычно он начинается быстро, и у вас нет параметров IntelliSense до тех пор, пока он не начнется. При запуске службы появляется уведомление в правом нижнем углу. Когда оно исчезнет, расширение должно работать.
Файл Bicep теперь содержит следующий код.
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
name: 'name'
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
В этом фрагменте кода вы найдете все необходимые значения для определения виртуальной сети. Вы можете заметить два фигурных подчеркивания. Желтый обозначает предупреждение, связанное с устаревшей версией API, в то время как красное фигурное подчеркивание сигнализирует об ошибке, вызванной отсутствующим определением параметра. Анализатор кода Bicep проверяет файлы Bicep на наличие синтаксических ошибок и нарушений рекомендаций. Наведите указатель мыши @2019-11-01
на всплывающей панели, на которую отображается более поздняя версия API для Microsoft.Network/virtualNetworks. Выберите быстрое исправление в всплывающей области, а затем выберите "Заменить с 2024-05-01" , чтобы обновить версию API.
Кроме того, удалите @2019-11-01
и замените его @
на . Выберите последнюю версию API.
В следующем разделе вы исправите ошибку определения отсутствующих параметров.
Этот код также можно изменить в соответствии с вашими требованиями. Например, так как name
не является четким именем для виртуальной сети, можно изменить свойство exampleVnet
наname
:
name: 'exampleVNet'
Добавить параметр
Фрагмент кода, добавленный в последнем разделе, пропускает определение параметра, location
как показано красным фигурным подчеркиванием. В верхней части файла добавьте:
param location
При добавлении пространства после расположения обратите внимание, что IntelliSense предлагает типы данных, доступные для параметра. Выберите строковое значение.
Присвойте параметру значение по умолчанию:
param location string = resourceGroup().location
Предыдущая строка назначает расположение группы ресурсов ресурсу виртуальной сети. Дополнительные сведения о функции, используемой в значении по умолчанию, см. в разделе resourceGroup()
.
В верхней части файла добавьте еще один параметр для имени учетной записи хранения (который создается позже в кратком руководстве) со значением по умолчанию:
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Дополнительные сведения см. в разделе Интерполяция и uniqueString()
.
Этот параметр работает нормально, однако в отношении учетных записей хранения предусматриваются ограничения по длине имени. Имя должно содержать не менее 3 и не более 24 символов. Эти требования можно указать, добавив декораторы в параметр.
Добавьте строку над параметром и введите @. Отобразятся доступные декораторы. Обратите внимание, что есть декораторы для minLength и maxLength.
Добавьте обе декораторы и укажите ограничения символов (например, 3 и 24 ниже):
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Можно также добавить описание параметра. Включите сведения, которые помогают пользователям развертывать файл Bicep, чтобы понять, какое значение необходимо предоставить:
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Параметры готовы к использованию.
Добавление ресурса
Вместо использования фрагмента кода для определения учетной записи хранения используйте IntelliSense для задания значений. IntelliSense упрощает этот шаг, чем необходимость вручную вводить значения.
Чтобы определить ресурс, используйте ключевое слово resource
. Под виртуальной сетью введите resource storageAccount:
resource storageAccount
storageAccount — это символьное имя развертываемого ресурса. Вы можете использовать это имя, чтобы ссылаться на ресурс в других частях файла Bicep.
При добавлении пробела после символического имени отобразится список типов ресурсов. Продолжайте вводить storageacc , пока не сможете выбрать его из доступных вариантов.
После выбора Microsoft.Storage/storageAccounts отобразятся доступные версии API. Выберите последнюю версию. Для следующего снимка экрана: 2023-05-01.
После одинарной кавычки, указанной для типа ресурса, добавьте = и пробел. Отобразятся параметры для добавления свойств в ресурс. Выберите обязательные свойства.
Этот параметр добавляет все свойства для типа ресурса, требуемые для его развертывания. После выбора этого параметра ваша учетная запись хранения будет иметь следующие свойства.
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name:
location:
sku: {
name:
}
kind:
}
Вы почти сделали, и следующий шаг — предоставить значения для этих свойств.
Опять же, IntelliSense помогает вам. Задайте для name
значение storageAccountName
, которое представляет собой параметр, содержащий имя учетной записи хранения. Для location
этого задайте для него location
значение , которое является параметром, созданным ранее. При добавлении sku.name
и kind
использовании IntelliSense предоставляет допустимые параметры.
Чтобы добавить необязательные свойства вместе с необходимыми свойствами, поместите курсор в нужное расположение и нажмите клавиши CTRL+ПРОБЕЛ. На следующем снимках экрана показано, как IntelliSense предлагает доступные свойства:
По завершении у вас есть:
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
name: 'exampleVNet'
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Дополнительные сведения о синтаксисе Bicep см. в разделе "Структура файлов Bicep" и синтаксис.
Визуализация ресурсов
Визуализатор Bicep показывает графическое представление ресурсов в файле.
Нажмите кнопку визуализатора Bicep в правом верхнем углу, чтобы открыть средство:
Этот визуализатор показывает ресурсы, определенные в файле Bicep, и соединители между их зависимостями. Два ресурса, определенные в этом кратком руководстве, не имеют зависимой связи, поэтому между ними нет соединителя:
Развертывание BICEP-файла
Щелкните правой кнопкой мыши файл Bicep в Visual Studio Code и выберите "Развернуть Bicep-файл".
В текстовом поле развертывания введите имя развертывания , введите deployStorageAndVNet и нажмите клавишу ВВОД.
В списке Выбор группы ресурсов вверху выберите Создать группу ресурсов.
Введите exampleRG в качестве имени группы ресурсов и нажмите клавишу ВВОД.
Выберите расположение для группы ресурсов, выберите центральную часть США или расположение выбранного расположения, а затем нажмите клавишу ВВОД.
В разделе "Выбор файла параметров" выберите "Нет".
Создание ресурсов занимает несколько секунд. Дополнительные сведения см. в разделе "Развертывание Bicep-файлов с помощью Visual Studio Code".
Вы также можете использовать Azure CLI или Azure PowerShell для развертывания Bicep-файла:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageAccountName=uniquename
По завершении развертывания появится сообщение, описывающее успешное развертывание.
Очистка ресурсов
Если ресурсы Azure больше не нужны, используйте Azure CLI или модуль Azure PowerShell, чтобы удалить группу ресурсов, созданную для краткого руководства.
az group delete --name exampleRG
Следующие шаги
Изучите модули Learn для Bicep.