Guia de início rápido: criar e implantar uma especificação de modelo com o Bicep
Artigo
Este guia de início rápido descreve como criar e implantar uma especificação de modelo com um arquivo Bicep. Uma especificação de modelo é implantada em um grupo de recursos para que as pessoas em sua organização possam implantar recursos no Microsoft Azure. As especificações de modelo permitem que você compartilhe modelos de implantação sem a necessidade de dar aos usuários acesso para alterar o arquivo Bicep. Este exemplo de especificação de modelo usa um arquivo Bicep para implantar uma conta de armazenamento.
Quando você cria uma especificação de modelo, o arquivo Bicep é transpilado em JavaScript Object Notation (JSON). A especificação de modelo usa JSON para implantar recursos do Azure. Atualmente, você não pode usar o portal do Microsoft Azure para importar um arquivo Bicep e criar um recurso de especificação de modelo.
Você cria uma especificação de modelo a partir de um arquivo Bicep local. Copie o exemplo a seguir e salve-o em seu computador como main.bicep. Os exemplos usam o caminho C:\templates\main.bicep. Você pode usar um caminho diferente, mas precisa alterar os comandos.
O seguinte arquivo Bicep é usado nas guias PowerShell e CLI . A guia do arquivo Bicep usa um modelo diferente que combina Bicep e JSON para criar e implantar uma especificação de modelo.
A especificação do modelo é um tipo de recurso chamado Microsoft.Resources/templateSpecs. Para criar uma especificação de modelo, use a CLI do Azure, o Azure PowerShell ou um arquivo Bicep.
Este exemplo usa o nome templateSpecRGdo grupo de recursos . Você pode usar um nome diferente, mas precisa alterar os comandos.
Você pode criar uma especificação de modelo com um arquivo Bicep, mas o mainTemplate deve estar em JSON. O modelo JSON não usa sintaxe JSON padrão. Por exemplo, não há vírgulas de fim de linha, aspas duplas são substituídas por aspas simples e barras invertidas (\) são usadas para escapar de aspas simples dentro de expressões.
Copie o modelo a seguir e salve-o em seu computador como main.bicep.
az group create \
--name templateSpecRG \
--location westus2
Crie a especificação do modelo nesse grupo de recursos. O nome da especificação do modelo, storageSpec e o número 1.0 da versão são parâmetros no arquivo Bicep.
az deployment group create \
--resource-group templateSpecRG \
--template-file "C:\templates\main.bicep"
Implantar especificação de modelo
Use a especificação do modelo para implantar uma conta de armazenamento. Este exemplo usa o nome storageRGdo grupo de recursos . Você pode usar um nome diferente, mas precisa alterar os comandos.
Você fornece parâmetros exatamente como faria para uma implantação de arquivo Bicep. Reimplante a especificação do modelo com um parâmetro para o tipo de conta de armazenamento.
Há um problema conhecido com a obtenção de uma ID de especificação de modelo e atribuindo-a a uma variável no Windows PowerShell.
Implante a especificação do modelo.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Você fornece parâmetros exatamente como faria para uma implantação de arquivo Bicep. Reimplante a especificação do modelo com um parâmetro para o tipo de conta de armazenamento.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType="Standard_GRS"
Para implantar uma especificação de modelo usando um arquivo Bicep, use um módulo. O módulo vincula-se a uma especificação de modelo existente. Para obter mais informações, consulte arquivo na especificação do modelo.
Copie o módulo Bicep a seguir e salve-o no seu computador como storage.bicep.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Você pode adicionar um parâmetro e reimplantar a especificação do modelo com um tipo de conta de armazenamento diferente. Copie o exemplo e substitua o arquivo storage.bicep . Em seguida, reimplante a implantação de especificação de modelo.
Se você quiser permitir que outros usuários em sua organização implantem sua especificação de modelo, será necessário conceder-lhes acesso de leitura. Você pode atribuir a função Leitor a um grupo do Microsoft Entra para o grupo de recursos que contém especificações de modelo que você deseja compartilhar. Para obter mais informações, consulte Tutorial: Conceder a um grupo acesso aos recursos do Azure usando o Azure PowerShell.
Atualizar arquivo Bicep
Depois que a especificação do modelo foi criada, você decidiu atualizar o arquivo Bicep. Para continuar com os exemplos nas guias PowerShell ou CLI , copie o exemplo e substitua o arquivo main.bicep .
O parâmetro storageNamePrefix especifica um valor de prefixo para o nome da conta de armazenamento. A storageAccountName variável concatena o prefixo com uma cadeia de caracteres exclusiva.
Em vez de criar uma nova especificação de modelo para o modelo revisado, adicione uma nova versão nomeada 2.0 à especificação de modelo existente. Os usuários podem optar por implantar qualquer uma das versões.
Implante a nova versão e use o para especificar um prefixo storageNamePrefix para o nome da conta de armazenamento.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageNamePrefix="demo"
Crie uma nova versão da especificação do modelo. Copie o exemplo e substitua o arquivo main.bicep .
O parâmetro storageNamePrefix especifica um valor de prefixo para o nome da conta de armazenamento. A storageAccountName variável concatena o prefixo com uma cadeia de caracteres exclusiva.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Clean up resources (Limpar recursos)
Para limpar os recursos implantados neste início rápido, exclua ambos os grupos de recursos. O grupo de recursos, as especificações do modelo e as contas de armazenamento serão excluídos.
Use o Azure PowerShell ou a CLI do Azure para excluir os grupos de recursos.