Partilhar via


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

Este guia de início rápido orienta como usar o Visual Studio Code para criar um arquivo Bicep. Criar uma conta de armazenamento e uma rede virtual. Você também aprende como a extensão Bicep fornece segurança de tipo, validação de sintaxe e preenchimento automático para simplificar o desenvolvimento.

O Visual Studio oferece suporte a uma experiência de criação semelhante. Consulte Guia de início rápido: criar arquivos Bicep com o Visual Studio para obter mais informações.

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, consulte Instalar ferramentas do Bicep. Depois de concluir essas etapas, você tem o Visual Studio Code e a extensão Bicep instalados. Você também tem a versão mais recente da CLI do Azure ou o módulo do Azure PowerShell.

Adicionar fragmento de recurso

O Visual Studio Code com a extensão Bicep fornece trechos predefinidos para simplificar o desenvolvimento. 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, selecione res-vnet na lista e pressione TAB ou ENTER.

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

Gorjeta

Se você não vir essas opções do IntelliSense no Visual Studio Code, 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 e você não terá 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. O linter do Bicep verifica os arquivos do Bicep em busca de erros de sintaxe e violações de práticas recomendadas. Passe o cursor sobre @2019-11-01, um painel pop-up mostra Usar a versão mais recente da API para 'Microsoft.Network/virtualNetworks'. Selecione Correção rápida no painel pop-up e, em seguida, selecione Substituir por 2024-05-01 para atualizar a versão da API.

Como alternativa, 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, como name não é um nome claro para a rede virtual, você pode alterar a name propriedade para exampleVnet:

name: 'exampleVNet'

Adicionar parâmetro

O trecho de código que você adicionou na última seção perde uma definição de parâmetro, location, conforme indicado pelo sublinhado vermelho encaracolado. 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

A linha anterior atribui o local do grupo de recursos ao recurso de rede virtual. Para obter mais informações sobre a função usada no valor padrão, consulte resourceGroup().

Na parte superior do arquivo, adicione outro parâmetro para o nome da conta de armazenamento (que você cria posteriormente no início rápido) 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 no mínimo 3 e no máximo 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 existem 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 (por exemplo, 3 e 24 abaixo):

@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 lowercase 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 resource storageAccount:

resource storageAccount

storageAccount é 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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

Você está quase pronto, e a próxima etapa é 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. A captura de tela a seguir mostra como o IntelliSense sugere propriedades disponíveis:

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

Quando terminar, você tem:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: 'exampleVNet'
  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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Para obter mais informações sobre a sintaxe do Bicep, consulte Estrutura e sintaxe do arquivo Bicep.

Visualizar recursos

O Bicep Visualizer mostra uma representação gráfica dos recursos em seu arquivo.

Selecione o botão Bicep Visualizer no canto superior direito para abrir a ferramenta:

Captura de tela da ferramenta Bicep Visualizer.

Este visualizador mostra os recursos definidos no arquivo Bicep e os conectores entre suas dependências. Os dois recursos definidos neste início rápido não têm uma relação dependente, portanto, não há um conector entre eles:

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 Visual Studio Code e selecione Implantar arquivo Bicep.

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

  2. Na caixa de texto Digite o nome para 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.

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

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

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

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 usar a CLI do Azure ou o Azure PowerShell para implantar o arquivo Bicep:

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ê verá uma mensagem descrevendo 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