Partilhar via


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

Este guia de início rápido orienta você pelas etapas para criar um arquivo Bicep com o Visual Studio Code. Criar 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. Consulte Guia de início rápido: criar arquivos Bicep com o Visual Studio.

Pré-requisitos

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Para configurar seu ambiente para o desenvolvimento do Bicep, consulte Instalar ferramentas do Bicep. Depois de concluir essas etapas, você tem o Visual Studio Code e a extensão Bicep. Você também tem a CLI do Azure mais recente ou o módulo mais recente do Azure PowerShell.

Adicionar fragmento de recurso

O VS Code 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.

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

Em main.bicep, digite vnet e, em seguida, selecione res-vnet na lista e, em seguida, pressione [TAB] ou [ENTER].

Captura de tela da adição de um trecho para rede virtual.

Gorjeta

Se não vir essas opções do IntelliSense no VS Code, certifique-se de que instalou 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 você não tem opções do IntelliSense até que ele seja iniciado. Uma notificação no canto inferior direito indica que o serviço está a iniciar. Quando essa notificação desaparece, o serviço está em execução.

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

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

Dentro deste trecho, você encontra todos os valores necessários para definir uma rede virtual. Você pode notar dois sublinhados encaracolados. Um amarelo denota um aviso relacionado a uma versão desatualizada da API, enquanto um sublinhado vermelho encaracolado sinaliza um erro causado por uma definição de parâmetro ausente.

Remova @2019-11-01e substitua-o por @. Selecione a versão mais recente da API.

Captura de tela da atualização da versão 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 ótimo nome para a rede virtual. Altere a name propriedade para examplevnet.

name: 'exampleVNet'

Adicionar parâmetro

O trecho de código adicionado na última seção perde uma definição de parâmetro.

Na parte superior do ficheiro, adicione:

param location

Quando você adiciona um espaço após o local, observe que o IntelliSense oferece os tipos de dados disponíveis para o parâmetro. Selecione a cadeia de caracteres.

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

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 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:

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

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 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)}'

Seus parâmetros estão prontos para uso.

Adicionar recurso

Em vez de usar um trecho para definir a conta de armazenamento, use 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 storageacc 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 a versão mais recente. Para a captura de tela a seguir, é 2023-05-01.

Captura de tela da versão da API selecionada 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@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

Está quase concluído. Basta fornecer valores para essas propriedades.

Mais uma vez, o IntelliSense ajuda-o. 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 que você criou anteriormente. Ao adicionar sku.name e kind, o IntelliSense apresenta as opções válidas.

Para adicionar propriedades opcionais ao lado das propriedades necessárias, coloque o cursor no local desejado e pressione Ctrl+Space. O IntelliSense sugere propriedades não utilizadas, conforme mostrado na captura de tela a seguir:

Captura de ecrã a mostrar a adição de propriedades adicionais.

Quando terminar, você tem:

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-03-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 do bíceps, consulte Estrutura do bíceps.

Visualizar recursos

Você pode exibir uma representação dos recursos em seu arquivo.

No canto superior direito, selecione o botão do visualizador para abrir o Bicep Visualizer.

Captura de tela da ferramenta Bicep Visualizer.

O visualizador mostra os recursos definidos no arquivo Bicep com as informações de dependência de recursos. Os dois recursos definidos neste início rápido não têm relação de dependência, portanto, você não vê um conector entre os dois recursos.

Captura de tela do diagrama do Bicep Visualizer.

Implantar o arquivo Bicep

  1. Clique com o botão direito do mouse no arquivo Bicep dentro do VS Code e selecione Implantar arquivo Bicep.

    Captura de tela da opção Implantar arquivo Bicep.

  2. Na caixa de texto Digite o nome da implantação, digite deployStorageAndVNet e pressione [ENTER].

    Captura de tela mostrando como inserir o nome da implantação.

  3. Na caixa de listagem Selecionar Grupo de Recursos na parte superior, selecione Criar novo Grupo de Recursos.

    Captura de ecrã da opção Criar novo Grupo de Recursos.

  4. Digite exampleRG como o nome do grupo de recursos e pressione [ENTER].

    Captura de ecrã de um grupo de recursos de exemplo, exampleRG.

  5. Selecione um local para o grupo de recursos, selecione EUA centrais ou um local de sua escolha e pressione [ENTER].

    Captura de ecrã das opções de localização do grupo de recursos.

  6. Em Selecione um arquivo de parâmetros, selecione Nenhum.

    Captura de ecrã do ficheiro Selecionar parâmetros.

Leva alguns momentos para criar os recursos. Para obter mais informações, consulte Implantar arquivos Bicep com o Visual Studio Code.

Você também 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 storageAccountName=uniquename

Quando a implantação terminar, você verá uma mensagem indicando que a implantação foi bem-sucedida.

Clean up resources (Limpar 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