Guia de início rápido: Criar e implantar uma especificação de modelo
Artigo
Este guia de início rápido mostra como empacotar um modelo do ARM (modelo do Azure Resource Manager) em uma especificação de modelo. Em seguida, você implantará essa especificação de modelo. A especificação de modelo contém um modelo do ARM que implanta uma conta de armazenamento.
Você criará uma especificação de modelo com base em um modelo local. Copie o modelo a seguir e salve-o localmente em um arquivo chamado azuredeploy.json. Este início rápido assume que você salvou no caminho c:\Templates\azuredeploy.json, mas é possível usar qualquer caminho.
A especificação de modelo é um tipo de recurso chamado Microsoft.Resources/templateSpecs. Para criar uma especificação de modelo, use o PowerShell, a CLI do Azure, o portal ou um modelo do ARM.
Procure especificações de modelo. Selecione Especificações de modelo nas opções disponíveis.
Selecione Importar modelo.
Selecione o ícone de pasta.
Procure o modelo local que você salvou e selecione-o. Selecione Abrir.
Selecione Importar.
Forneça os seguintes valores:
Nome: insira um nome para a especificação de modelo. Por exemplo, storageSpec
Assinatura: selecione uma assinatura do Azure usada para criar a especificação de modelo.
Grupo de recursos: selecione Criar e insira um novo nome do grupo de recursos. Por exemplo, templateSpecRG.
Local: selecione um local para o grupo de recursos. Por exemplo, Oeste dos EUA 2.
Versão: insira uma versão para a especificação de modelo. Use 1.0.
Selecione Examinar + criar.
Selecione Criar.
Observação
Em vez de usar um modelo do ARM, recomendamos que você use o PowerShell ou a CLI para criar a especificação de modelo. Essas ferramentas convertem automaticamente os modelos vinculados em artefatos conectados ao modelo principal. Ao usar um modelo do ARM para criar a especificação de modelo, você precisará adicionar manualmente esses modelos vinculados como artefatos, o que pode ser complicado.
Quando você usa um modelo do ARM para criar a especificação de modelo, o modelo é incorporado na definição de recursos. Há algumas alterações que você precisará fazer no modelo local. Copie o modelo a seguir e salve-o localmente como azuredeploy.json.
Observação
No modelo inserido, todas as expressões do modelo devem ser precedidas por um segundo colchete à esquerda. Use "[[ em vez de "[. As matrizes JSON ainda usam apenas um colchete à esquerda.
az deployment group create \
--resource-group templateSpecRG \
--template-file "c:\Templates\azuredeploy.json"
Implantar especificação de modelo
Para implantar uma especificação de modelo, use os mesmos comandos de implantação que usaria para implantar um modelo. Transmita a ID do recurso da especificação de modelo a ser implantada.
Você fornece parâmetros exatamente como faria para um modelo do ARM. 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 um modelo do ARM. 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'
Selecione a especificação de modelo que você criou.
Selecione Implantar.
Forneça os seguintes valores:
Assinatura: selecione uma assinatura do Azure usada para criar o recurso.
Grupo de recursos: selecione Criar e insira storageRG.
Tipo de Conta de Armazenamento: selecione Standard_GRS.
Selecione Examinar + criar.
Selecione Criar.
Copie o modelo a seguir e salve-o localmente em um arquivo chamado storage.json.
az deployment group create \
--resource-group storageRG \
--template-file "c:\Templates\storage.json"
Conceder acesso
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 modelo
Vamos supor que você tenha identificado uma alteração que deseja fazer no modelo na especificação de modelo. O modelo a seguir é semelhante ao modelo anterior, exceto pelo fato de ele adicionar um prefixo ao nome da conta de armazenamento. Copie o modelo a seguir e atualize o arquivo azuredeploy.json.
Em vez de criar uma especificação de modelo para o modelo revisado, adicione uma versão chamada 2.0 à especificação de modelo existente. Os usuários podem escolher uma das versões para implantação.
Implante essa versão. Forneça um prefixo para o nome da conta de armazenamento.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters namePrefix='demoaccount'
Na especificação de modelo, selecione Criar versão.
Nomeie a nova versão 2.0 e, opcionalmente, adicione observações. Selecione Editar modelo.
Substitua o conteúdo do modelo pelo modelo atualizado. Clique em Examinar + Salvar.
Selecione Salvar alterações.
Para implantar a nova versão, selecione Versões
Para a versão que deseja implantar, selecione os três pontos e Implantar.
Preencha os campos como fez ao implantar a versão anterior.
Selecione Examinar + criar.
Selecione Criar.
Novamente, você precisará fazer algumas alterações no modelo local para que ele funcione com as especificações de modelo. Copie o modelo a seguir e salve-o localmente como azuredeploy.json.