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 compartilhar modelos de implantação sem a necessidade de conceder 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 é transferido para JSON (JavaScript Object Notation). A especificação de modelo usa JSON para implantar recursos do Azure. Atualmente, não é possível usar o portal do Microsoft Azure importar um arquivo Bicep e criar um recurso de especificação de modelo.
Você criará uma especificação de modelo com base em um arquivo de 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 arquivo Bicep a seguir é usado nas guias PowerShell e CLI. A guia arquivo Bicep usa um modelo diferente que combina Bicep e JSON para criar e implantar uma especificação de modelo.
A especificação de 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 do grupo de recursos templateSpecRG. 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 a 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 aspas simples nas 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 de modelo nesse grupo de recursos. O nome de especificação do modelo storageSpec e número de versão 1.0 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 de modelo para implantar uma conta de armazenamento. Este exemplo usa o nome do grupo de recursos storageRG. 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 de modelo com um parâmetro para o tipo de conta de armazenamento.
Há um problema conhecido na obtenção de uma ID de especificação de modelo e na atribuição dela a uma variável no Windows PowerShell.
Implante a especificação de 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 de 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 de modelo.
Copie o seguinte módulo Bicep e salve-o em 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 de 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 na sua organização implantem sua especificação de modelo, precisará conceder acesso de leitura a eles. Atribua a função Leitor a um grupo do Microsoft Entra do grupo de recursos que contém as especificações de modelo que deseja compartilhar. Para saber mais, confira Tutorial: Conceder a um grupo acesso aos recursos do Azure usando o Azure PowerShell.
Atualizar um arquivo Bicep
Após a criação da especificação de modelo, você decidiu atualizar o arquivo Bicep. Para continuar com os exemplos nas guias do PowerShell ou da CLI, copie a amostra e substitua seu arquivo main.bicep.
O parâmetro storageNamePrefix especifica um valor de prefixo para o nome da conta de armazenamento. A variável storageAccountName concatena o prefixo com uma cadeia de caracteres exclusiva.
Em vez de criar uma especificação de modelo para o modelo revisado, adicione uma versão chamada 2.0 à especificação de modelo. Os usuários podem escolher uma das duas versões para implantar.
Implante a nova versão e use o storageNamePrefix para especificar um prefixo 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 seu arquivo main.bicep.
O parâmetro storageNamePrefix especifica um valor de prefixo para o nome da conta de armazenamento. A variável storageAccountName concatena o prefixo com uma cadeia de caracteres exclusiva.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Limpar os recursos
Para limpar os recursos implantados neste início rápido, exclua ambos os grupos de recursos. O grupo de recursos, as especificações de modelo e as contas de armazenamento serão excluídos.
Use o Azure PowerShell ou a CLI do Azure para excluir o grupo de recursos.