Compartilhar via


Guia de início rápido: criar arquivos Bicep com o Visual Studio

Este guia de início rápido percorre as etapas para criar um arquivo Bicep com o Visual Studio. Você cria uma conta de armazenamento e uma rede virtual. Você também aprenderá como a extensão Bicep simplifica o desenvolvimento fornecendo segurança de tipo, validação de sintaxe e preenchimento automático.

Também há suporte para uma experiência de criação semelhante no Visual Studio Code. Veja Início Rápido: Criar arquivos Bicep com o Visual Studio Code.

Pré-requisitos

Adicionar um snippet de recurso

Inicie o Visual Studio e crie um arquivo chamado main.bicep.

O Visual Studio com a extensão Bicep simplifica o desenvolvimento fornecendo snippets predefinidos. Neste guia de início rápido, você adiciona um snippet de código que cria uma rede virtual.

Em main.bicep, digite vnet. Selecione res-vnet na lista e pressione Tab ou ENTER.

Captura de tela da adição do snippet da rede virtual.

Dica

Se essas opções do IntelliSense não aparecerem no Visual Studio, verifique se você instalou a extensão Bicep, como 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. Ele geralmente começa rapidamente, mas você não terá opções de IntelliSense até que ele comece.

O arquivo Bicep agora contém o seguinte código:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-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'
        }
      }
    ]
  }
}

Esse snippet contém todos os valores necessários para definir uma rede virtual. Contudo, você pode modificar esse código de acordo com suas necessidades. Por exemplo, name não é um nome muito bom para a rede virtual. Altere a propriedade name para exampleVnet.

name: 'exampleVnet'

Observe que ___location tem um sublinhado vermelho sinuoso. Isso indica um problema. Posicione o cursor em ___location. A mensagem de erro é: o nome “___location” não existe no contexto atual. Criaremos um parâmetro de ___location na próxima seção.

Adicionar parâmetros

Agora, adicionamos dois parâmetros para o nome da conta de armazenamento e o local. No início do arquivo, adicione:

param storageName

Ao adicionar um espaço após storageName, tenha em mente que o IntelliSense oferece os tipos de dados que estão disponíveis para o parâmetro. Selecione cadeia de caracteres.

Captura de tela da adição do tipo de cadeia de caracteres ao parâmetro.

Você tem o seguinte parâmetro:

param storageName string

Esse parâmetro funciona bem, mas as contas de armazenamento têm limites de comprimento do nome. O nome deve ter pelo menos três caracteres e não mais do que 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.

Captura de tela da adição de decoradores ao parâmetro.

Adicione os dois decoradores e especifique os limites de caracteres, conforme mostrado abaixo:

@minLength(3)
@maxLength(24)
param storageName string

Também é possível adicionar uma descrição para o parâmetro. Inclua informações que ajudem as pessoas que estiverem implantando o arquivo Bicep a entender o valor a ser fornecido.

@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

O parâmetro de nome da conta de armazenamento está pronto para uso.

Adicione outro parâmetro de localização:

param ___location string = resourceGroup().___location

Adicionar recurso

Em vez de usar um snippet para definir a conta de armazenamento, usamos o intellisense para definir os valores. O Intellisense torna essa etapa mais fácil do que digitar os valores manualmente.

Para definir um recurso, use a palavra-chave resource. Abaixo da rede virtual, digite resource exampleStorage:

resource exampleStorage

exampleStorage é um nome simbólico para o recurso que está sendo implantado. Use esse nome para referenciar o recurso em outras partes do arquivo Bicep.

Quando você adicionar um espaço após o nome simbólico, uma lista de tipos de recursos será exibida. Continue digitando storage até que seja possível selecioná-lo nas opções disponíveis.

Captura de tela da seleção de contas de armazenamento para o tipo de recurso.

Depois de selecionar Microsoft.Storage/storageAccounts, você verá as versões de API disponíveis. Selecione 2021-09-01 ou a versão mais recente da API. Recomendamos usar a última versão da API.

Captura de tela da seleção da versão da API para o tipo de recurso.

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.

Captura de tela da adição das propriedades obrigatórias.

Com essa opção, são adicionadas todas as propriedades do tipo de recurso que são obrigatórias para a implantação. Depois de selecionar essa opção, a conta de armazenamento terá as seguintes propriedades:

resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
	name: 1
	___location: 2
	sku: {
		name: 3
	}
	kind: 4
}

Há quatro espaços reservados no código. Use Tab para percorrê-los e inserir os valores. Mais uma vez, o IntelliSense ajuda você. Defina name como storageName, que é o parâmetro que contém o nome da conta de armazenamento. Para ___location, defina como ___location. Ao adicionar o nome e o tipo do SKU, o IntelliSense apresentará as opções válidas.

Ao concluir, você terá:

@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@2025-01-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@2025-06-01' = {
  name: storageName
  ___location: ___location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Para obter mais informações sobre a sintaxe do Bicep, veja Estrutura do Bicep.

Implantar o arquivo Bicep

A implantação do arquivo Bicep ainda não pode ser feita por meio do Visual Studio. É 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 storageName=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

Próximas etapas