Início Rápido: criar arquivos Bicep com o Visual Studio Code
Este guia de início rápido guia você pelas etapas para criar um arquivo Bicep com Visual Studio Code. Você cria uma conta de armazenamento e uma rede virtual. Você também aprende como a extensão Bicep simplifica o desenvolvimento ao fornecer segurança de tipo, validação de sintaxe e preenchimento automático.
Uma experiência de criação parecida também tem suporte no Visual Studio. Confira Guia de início rápido: criar arquivos Bicep com o Visual Studio.
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Para configurar seu ambiente para o desenvolvimento do Bicep, confira Instalar ferramentas do Bicep. Depois de concluir essas etapas, você tem o Visual Studio Code e a extensão Bicep. Você também terá a CLI do Azure mais recente ou o módulo do Azure PowerShell mais recente.
Adicionar snippet de código do recurso
O VS Code com a extensão Bicep simplifica o desenvolvimento ao fornecer snippets de código predefinidos. Neste guia de início rápido, você adiciona um snippet de código que cria uma rede virtual.
Inicie o Visual Studio Code e crie um novo arquivo chamado main.bicep.
Em main.bicep, digite vnet e selecione res-vnet na lista e pressione [TAB] ou [ENTER].
Dica
Se você não vir essas opções do IntelliSense no VS Code, certifique-se de ter instalado a extensão do Bicep conforme especificado em Pré-requisitos. Se você tiver instalado a extensão, aguarde algum tempo até que o serviço de linguagem Bicep seja iniciado após abrir o arquivo Bicep. Ela geralmente é iniciada rapidamente, mas as opções do IntelliSense não estão disponíveis até que ela seja iniciada. Uma notificação no canto inferior direito indica que o serviço está sendo iniciado. Quando essa notificação desaparecer, o serviço estará em execução.
O arquivo Bicep agora contém o código a seguir:
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'
}
}
]
}
}
Nesse snippet, você encontra todos os valores necessários para definir uma rede virtual. Você pode notar dois sublinhados ondulados. Um amarelo indica um aviso relacionado a uma versão de API desatualizada, enquanto um sublinhado vermelho sinaliza um erro causado por uma definição de parâmetro ausente.
Remova @2019-11-01
e substitua por @
. Selecione a versão mais antiga da API.
Você corrigirá o erro de definição de parâmetro ausente na próxima seção.
Você também pode modificar esse código para atender às suas necessidades. Por exemplo, name
não é um nome muito bom para a rede virtual. Altere a propriedade name
para examplevnet
.
name: 'exampleVNet'
Adicionar parâmetro
O snippet de código que você adicionou na última seção perde uma definição de parâmetro.
No topo do arquivo, adicione:
param location
Ao adicionar um espaço após o local, observe que o IntelliSense oferece os tipos de dados que estão disponíveis para o parâmetro. Selecionar cadeia de caracteres.
Dê ao parâmetro um valor padrão:
param location string = resourceGroup().location
Para obter mais informações sobre a função usada no valor padrão, consulte resourceGroup().
Adicione outro parâmetro para o nome da conta de armazenamento com um valor padrão:
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Para obter mais informações, consulte Interpolação e uniqueString().
Esse parâmetro funciona bem, mas as contas de armazenamento têm limites de comprimento do nome. O nome deve conter no mínimo três e no máximo 24 caracteres. Para especificar esses requisitos, adicione decoradores ao parâmetro.
Adicione uma linha acima do parâmetro e digite @ . Você verá os decoradores disponíveis. Observe que há decoradores para minLength e maxLength.
Adicione os dois decoradores e especifique os limites de caracteres:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Também é possível adicionar uma descrição para o parâmetro. Inclua informações que ajudam as pessoas que estejam implantando o arquivo Bicep a entenderem qual valor fornecer.
@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 storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
O parâmetro está pronto para uso.
Adicionar recurso
Em vez de usar um snippet para definir a conta de armazenamento, use o IntelliSense para definir os valores. O IntelliSense torna essa etapa mais fácil do que ter que digitar manualmente os valores.
Para definir um recurso, use a palavra-chave resource
. Abaixo da sua rede virtual, digite resource exampleStorage:
resource exampleStorage
exampleStorage é um nome simbólico para o recurso sendo implantado. Use esse nome para referenciar o recurso em outras partes do arquivo Bicep.
Ao adicionar um espaço após o nome simbólico, uma lista de tipos de recursos será exibida. Continue digitando storageacc até que seja possível selecioná-lo nas opções disponíveis.
Depois de selecionar Microsoft.Storage/storageAccounts, você verá as versões de API disponíveis. Escolha a última versão. Para a captura de tela a seguir, é 2023-05-01.
Adicione = e um espaço após a aspa simples para o tipo de recurso. Você verá as opções para adicionar propriedades ao recurso. Selecione required-properties.
Com essa opção, são adicionadas todas as propriedades do tipo de recurso que são necessárias para a implantação. Depois de selecionar essa opção, a conta de armazenamento terá as seguintes propriedades:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name:
location:
sku: {
name:
}
kind:
}
Você está quase lá. Agora basta fornecer valores para essas propriedades.
Novamente, o IntelliSense ajuda você. Defina name
como storageAccountName
, que é o parâmetro que contém um nome para a conta de armazenamento. Para location
, defina-o como location
, que é um parâmetro criado anteriormente. Ao adicionar sku.name
e kind
, o IntelliSense apresenta as opções válidas.
Para adicionar propriedades opcionais junto com as propriedades necessárias, coloque o cursor no local desejado e pressione Ctrl+Espaço. O IntelliSense sugere propriedades não usadas, conforme mostrado na seguinte captura de tela:
Quando terminar, você terá:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-01-01' = {
name: 'exampleVNet'
location: resourceGroup().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-05-01' = {
name: storageAccountName
location: 'eastus'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Para obter mais informações sobre a sintaxe Bicep, confira Estrutura Bicep.
Visualizar recursos
Você pode exibir uma representação dos recursos do seu arquivo.
No canto superior direito, selecione o botão do visualizador para abrir o Bicep Visualizer.
O visualizador mostra os recursos definidos no arquivo Bicep com as informações de dependência do recurso. Os dois recursos definidos neste início rápido não têm relação de dependência, por isso você não vê um conector entre eles.
Implante o arquivo Bicep
Clique com o botão direito do mouse no arquivo Bicep dentro do VSCode e selecione Implantar arquivo Bicep.
Na caixa de texto Insira o nome para implantação, digite deployStorageAndVNete pressione [ENTER].
Na caixa de listagem Selecionar Grupo de Recursos na parte superior, selecione Criar novo Grupo de Recursos.
Insira exampleRG como o nome do grupo de recursos e pressione [ENTER].
Selecione um local para o grupo de recursos, selecione EUA Central ou um local de sua escolha e pressione [ENTER].
Em Selecionar um arquivo de parâmetro, selecione Nenhum.
São necessários alguns instantes para a criação dos recursos. Para obter mais informações, veja Implantar arquivos Bicep com o Visual Studio Code.
Também é possível implantar o arquivo Bicep usando a CLI do Azure ou o Azure PowerShell:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageAccountName=uniquename
Quando a implantação for concluída, você deverá ver uma mensagem indicando que ela foi bem-sucedida.
Limpar os recursos
Quando os recursos do Azure não forem mais necessários, use o módulo da CLI do Azure ou do Azure PowerShell para excluir o grupo de recursos de início rápido.
az group delete --name exampleRG