Partilhar via


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

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

Experiência de criação semelhante também é suportada no Visual Studio Code. Consulte Início rápido: criar ficheiros Bicep com o Visual Studio Code.

Pré-requisitos

  • Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Visual Studio versão 17.3.0 preview 3 ou mais recente. Consulte Visual Studio Preview.
  • Extensão Bicep para Visual Studio. Consulte Visual Studio Marketplace.
  • A implantação do arquivo Bicep requer a CLI do Azure mais recente ou o mais recente módulo Azure PowerShell.

Adicionar fragmento de recurso

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

O Visual Studio com a extensão Bicep simplifica o desenvolvimento fornecendo trechos predefinidos. Neste início rápido, você adiciona um trecho 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 de um trecho para rede virtual.

Tip

Se você não vir essas opções do intellisense no Visual Studio, certifique-se de ter instalado a extensão Bicep conforme especificado em Pré-requisitos. Se você tiver instalado a extensão, dê ao serviço de idioma Bicep algum tempo para iniciar depois de abrir o arquivo Bicep. Geralmente começa rapidamente, mas não terás opções intellisense até que inicie.

Seu 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'
        }
      }
    ]
  }
}

Este trecho contém todos os valores necessários para definir uma rede virtual. No entanto, você pode modificar esse código para atender às suas necessidades. Por exemplo, name não é um ótimo nome para a rede virtual. Altere a name propriedade para exampleVnet.

name: 'exampleVnet'

Observe que o local tem um sublinhado vermelho encaracolado. Isso indica um problema. Passe o cursor sobre a localização. A mensagem de erro é - O nome "local" não existe no contexto atual. Criaremos um parâmetro de localização na próxima seção.

Adicionar parâmetros

Agora, adicionamos dois parâmetros para o nome da conta de armazenamento e o local. Na parte superior do ficheiro, adicione:

param storageName

Quando você adiciona um espaço após storageName, observe que o intellisense oferece os tipos de dados disponíveis para o parâmetro. Selecione string.

Captura de tela mostrando a 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 no comprimento do nome. O nome deve ter pelo menos três caracteres e não mais de 24 caracteres. Você pode especificar esses requisitos adicionando decoradores ao parâmetro.

Adicione uma linha acima do parâmetro e digite @. Você vê os decoradores disponíveis. Observe que há decoradores para minLength e maxLength.

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

Adicione ambos os decoradores e especifique os limites de caracteres, como mostrado abaixo:

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

Você também pode adicionar uma descrição para o parâmetro. Inclua informações que ajudem as pessoas que implantam 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 trecho para definir a conta de armazenamento, usamos o intellisense para definir os valores. O Intellisense torna esta etapa mais fácil do que ter que digitar manualmente os valores.

Para definir um recurso, use a resource palavra-chave. Abaixo da sua rede virtual, digite exemplo de recursoStorage:

resource exampleStorage

exampleStorage é um nome simbólico para o recurso que você está implantando. Você pode usar esse nome para fazer referência ao recurso em outras partes do arquivo Bicep.

Quando você adiciona um espaço após o nome simbólico, uma lista de tipos de recursos é exibida. Continue digitando armazenamento até que você possa selecioná-lo entre as opções disponíveis.

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

Depois de selecionar Microsoft.Storage/storageAccounts, são apresentadas as versões de API disponíveis. Selecione 2021-09-01 ou a versão mais recente da API. Recomendamos o uso da versão mais recente da API.

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

Após a cotação única para o tipo de recurso, adicione = e um espaço. São apresentadas opções para adicionar propriedades ao recurso. Selecione as propriedades necessárias.

Captura de ecrã a mostrar a adição das propriedades necessárias.

Esta opção adiciona todas as propriedades para o tipo de recurso que são necessárias para a implantação. Depois de selecionar essa opção, sua conta de armazenamento tem 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. Utilize [TAB] para percorrê-los e inserir os valores. Mais uma vez, o IntelliSense ajuda-lhe. Defina name como storageName, que é o parâmetro que contém um nome para a conta de armazenamento. Para location, defina-o como location. Ao adicionar o nome e o tipo de SKU, o intellisense apresenta as opções válidas.

Quando terminar, 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 bíceps, consulte Estrutura do bíceps.

Desdobrar o arquivo Bicep

A implantação do arquivo Bicep ainda não pode ser feita a partir do Visual Studio. Você pode 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 terminar, você verá uma mensagem indicando que a implantação foi bem-sucedida.

Limpeza de recursos

Quando os recursos do Azure não forem mais necessários, use a CLI do Azure ou o módulo do Azure PowerShell para excluir o grupo de recursos de início rápido.

az group delete --name exampleRG

Próximos passos