Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве описаны действия по созданию Bicep-файла с помощью Visual Studio. Вы создадите учетную запись хранения и виртуальную сеть. Вы также узнаете, как расширение Bicep упрощает разработку, предоставляя безопасность типов, проверку синтаксиса и автозавершение.
Аналогичные возможности разработки также поддерживаются в Visual Studio Code. См. краткое руководство: создание файлов Bicep с помощью Visual Studio Code.
Предпосылки
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Visual Studio версии 17.3.0 предварительная 3 или новее. См. предварительную версию Visual Studio.
- Расширение Bicep для Visual Studio См. статью Visual Studio Marketplace.
- Для развертывания файлов Bicep требуется последняя версия Azure CLI или последний модуль Azure PowerShell.
Добавление фрагмента ресурсов
Запустите Visual Studio и создайте файл с именем main.bicep.
Visual Studio с расширением Bicep упрощает разработку, предоставляя предварительно определенные фрагменты кода. В этом кратком руководстве вы добавите фрагмент кода, который создает виртуальную сеть.
В main.bicep введите виртуальную сеть. Выберите res-vnet из списка, а затем нажмите клавишу [TAB] или [ВВОД].
Подсказка
Если вы не видите эти параметры intellisense в Visual Studio, убедитесь, что вы установили расширение Bicep, как указано в предварительных требованиях. Если расширение установлено, дайте языковому сервису Bicep немного времени для начала работы после открытия вашего файла Bicep. Обычно он запускается быстро, но у вас нет параметров IntelliSense, пока он не начнёт работать.
Файл Bicep теперь содержит следующий код.
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-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'
}
}
]
}
}
Этот фрагмент содержит все значения, необходимые для определения виртуальной сети. Однако этот код можно изменить в соответствии с вашими требованиями. Например, name
не подходит для использования в качестве имени виртуальной сети. Измените значение свойства name
на exampleVnet
.
name: 'exampleVnet'
Уведомление о расположении имеет красное фигурное подчеркивание. Это означает проблему. Наведите указатель мыши на расположение. Сообщение об ошибке — имя "location" не существует в текущем контексте. Мы создадим параметр расположения в следующем разделе.
Добавление параметров
Теперь мы добавим два параметра для имени учетной записи хранения и расположения. В верхней части файла добавьте:
param storageName
При добавлении пространства после имени хранилища обратите внимание, что intellisense предлагает типы данных, доступные для параметра. Выберите строковое значение.
У вас есть следующий параметр:
param storageName string
Этот параметр работает нормально, однако в отношении учетных записей хранения предусматриваются ограничения по длине имени. Имя должно содержать не менее 3 символов и не более 24 символов. Эти требования можно указать, добавив декораторы в параметр.
Добавьте строку над параметром и введите @. Вы видите доступные декораторы. Обратите внимание, что есть декораторы для minLength и maxLength.
Добавьте оба декоратора и укажите ограничения на количество знаков, как показано ниже.
@minLength(3)
@maxLength(24)
param storageName string
Можно также добавить описание параметра. Включите сведения, помогающие пользователям развертывать Bicep-файл, чтобы понять, какое значение следует указать.
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
Параметр имени учетной записи хранения готов к использованию.
Добавьте другой параметр расположения:
param location string = resourceGroup().location
Добавление ресурса
Вместо использования фрагмента кода для определения учетной записи хранения мы будем использовать intellisense для задания значений. Intellisense делает этот шаг гораздо проще, чем если бы значения вводились вручную.
Чтобы определить ресурс, используйте ключевое слово resource
. В вашей виртуальной сети введите ресурс exampleStorage.
resource exampleStorage
exampleStorage — это символическое имя развертываемого ресурса. Вы можете использовать это имя, чтобы ссылаться на ресурс в других разделах файла Bicep.
При добавлении пробела после символического имени отобразится список типов ресурсов. Продолжайте вводить хранилище , пока не сможете выбрать его из доступных параметров.
После выбора Microsoft.Storage/storageAccounts отобразятся доступные версии API. Выберите 2021-09-01 или последнюю версию API. Рекомендуется использовать последнюю версию API.
После одинарной кавычки, указанной для типа ресурса, добавьте =
и пробел. Вам предлагаются параметры для добавления свойств в ресурс. Выберите обязательные свойства.
Этот параметр добавляет все свойства для типа ресурса, требуемые для его развертывания. После выбора этого параметра ваша учетная запись хранения будет иметь следующие свойства.
resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
В коде есть четыре заполнителя. Используйте [TAB], чтобы пройти их и ввести значения. Опять же, intellisense помогает вам. Установите значение name
для storageName – параметра, содержащего имя учетной записи хранения. Для location
параметра , задайте для него значение location
. При добавлении имени и типа SKU intellisense предоставляет допустимые параметры.
Закончив работу, у вас есть следующие возможности:
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: storageName
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 exampleStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Дополнительные сведения о синтаксисе Bicep см. в разделе структура Bicep.
Разверните файл Bicep
Развертывание файлов Bicep еще не может быть выполнено из Visual Studio. Вы можете развернуть файл Bicep с помощью Azure CLI или Azure PowerShell:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename
После завершения развертывания должно отобразиться сообщение о том, что развертывание успешно выполнено.
Очистка ресурсов
Если ресурсы Azure больше не нужны, используйте Azure CLI или модуль Azure PowerShell, чтобы удалить группу ресурсов быстрого старта.
az group delete --name exampleRG