O que é o Bicep?

Concluído

Sua equipe entendeu como o Azure Resource Manager funciona e você decidiu usar modelos ARM para seu provisionamento de recursos. Você entende que pode escrever modelos ARM de duas maneiras diferentes: usando JSON ou Bicep. Você quer aprender mais sobre os modelos do Bicep para que você possa tomar uma decisão informada sobre qual idioma usar.

Nesta unidade, você aprenderá sobre a linguagem de modelo Bicep e os benefícios que ela oferece à criação de modelos.

Linguagem bíceps

O Bicep é uma linguagem de modelo do Resource Manager usada para implantar declarativamente recursos do Azure. O bíceps é uma linguagem específica do domínio, o que significa que foi projetado para um cenário ou domínio específico. O Bicep não deve ser usado como uma linguagem de programação padrão para escrever aplicativos. O Bíceps é usado apenas para criar modelos do Gerenciador de Recursos. O Bicep destina-se a ser fácil de entender e direto de aprender, independentemente da sua experiência com outras linguagens de programação. Todos os tipos de recursos, versões de API e propriedades são válidos em modelos Bicep.

Nota

Se você já analisou o uso de modelos JSON, notará que o Bicep simplifica a experiência de criação de modelos. Ele fornece uma sintaxe mais fácil de entender, melhor suporte para modularidade e código reutilizável e maior segurança de tipo. Criar um modelo JSON ARM requer expressões complicadas e o resultado final pode ser detalhado.

Benefícios do Bíceps

O Bicep fornece muitas melhorias em relação ao JSON para criação de modelos, incluindo:

  • Sintaxe mais simples: Bicep fornece uma sintaxe mais simples para escrever modelos. Você pode referenciar parâmetros e variáveis diretamente, sem usar funções complicadas. A interpolação de cadeia de caracteres é usada no lugar da concatenação para combinar valores para nomes e outros itens. Você pode fazer referência às propriedades de um recurso diretamente usando seu nome simbólico em vez de instruções de referência complexas. Essas melhorias de sintaxe ajudam tanto na criação quanto na leitura de modelos do Bíceps.

  • Módulos: Você pode dividir implantações de modelos complexos em arquivos de módulo menores e fazer referência a eles em um modelo principal. Estes módulos proporcionam uma gestão mais fácil e uma maior reutilização. Pode até partilhar os seus módulos com a sua equipa.

  • Gerenciamento automático de dependências: na maioria das situações, o Bicep deteta automaticamente dependências entre seus recursos. Esse processo remove parte do trabalho envolvido na criação de modelos.

  • Validação de tipo e IntelliSense: A extensão Bicep para Visual Studio Code apresenta validação avançada e IntelliSense para todas as definições de API de tipo de recurso do Azure. Esse recurso ajuda a fornecer uma experiência de criação mais fácil.

Dê uma olhada no exemplo a seguir de um modelo Bicep que define uma conta de armazenamento do Azure. O nome da conta de armazenamento é gerado automaticamente pelo modelo. Após a implantação, o ID do recurso é retornado como saída para o usuário que executa o modelo.

param location string = resourceGroup().location
param namePrefix string = 'storage'

var storageAccountName = '${namePrefix}${uniqueString(resourceGroup().id)}'
var storageAccountSku = 'Standard_RAGRS'

resource storageAccount 'Microsoft.Storage/storageAccounts@2022-05-01' = {
  name: storageAccountName
  location: location
  kind: 'StorageV2'
  sku: {
    name: storageAccountSku
  }
  properties: {
    accessTier: 'Hot'
    supportsHttpsTrafficOnly: true
  }
}

output storageAccountId string = storageAccount.id