Guia de início rápido: criar e implantar especificações de modelo
Artigo
Este guia de início rápido mostra como empacotar um modelo do Azure Resource Manager (modelo ARM) em uma especificação de modelo. Em seguida, você implanta essa especificação de modelo. Sua especificação de modelo contém um modelo ARM que implanta uma conta de armazenamento.
Você cria uma especificação de modelo a partir de um modelo local. Copie o modelo a seguir e salve-o localmente em um arquivo chamado azuredeploy.json. Este guia de início rápido pressupõe que você salvou em um caminho c:\Templates\azuredeploy.json, mas você pode usar qualquer caminho.
A especificação do 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 ARM.
Pesquise as especificações do modelo. Selecione Especificações do modelo nas opções disponíveis.
Selecione Importar modelo.
Selecione o ícone da pasta.
Navegue até 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 do modelo. Por exemplo, storageSpec
Assinatura: selecione uma assinatura do Azure usada para criar a especificação do modelo.
Grupo de Recursos: selecione Criar novo e insira um novo nome de grupo de recursos. Por exemplo, templateSpecRG.
Localização: selecione uma localização para o grupo de recursos. Por exemplo, West US 2.
Versão: insira uma versão para a especificação do modelo.
Selecione Rever + Criar.
Selecione Criar.
Nota
Em vez de usar um modelo ARM, recomendamos que você use o PowerShell ou a CLI para criar sua especificação de modelo. Essas ferramentas convertem automaticamente modelos vinculados em artefatos conectados ao seu modelo principal. Ao usar um modelo ARM para criar a especificação do modelo, você deve adicionar manualmente esses modelos vinculados como artefatos, o que pode ser complicado.
Quando você usa um modelo ARM para criar a especificação de modelo, o modelo é incorporado na definição de recurso. Há algumas alterações que você precisa fazer no seu modelo local. Copie o modelo a seguir e salve-o localmente como azuredeploy.json.
Nota
No modelo incorporado, todas as expressões de modelo devem ser escapadas com um segundo colchete esquerdo. Use "[[ em vez de "[. As matrizes JSON ainda usam um único colchete esquerdo.
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 você usaria para implantar um modelo. Passe a ID do recurso da especificação de modelo a ser implantada.
Você fornece parâmetros exatamente como faria para um modelo ARM. 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 um modelo ARM. 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'
Selecione a especificação do modelo que você criou.
Selecione Implementar.
Forneça os seguintes valores:
Assinatura: selecione uma assinatura do Azure para criar o recurso.
Grupo de recursos: selecione Criar novo e, em seguida, insira storageRG.
Tipo de conta de armazenamento: selecione Standard_GRS.
Selecione Rever + 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 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 modelo
Vamos supor que você tenha identificado uma alteração que deseja fazer no modelo em sua especificação de modelo. O modelo a seguir é semelhante ao modelo anterior, exceto que adiciona um prefixo para o nome da conta de armazenamento. Copie o modelo a seguir e atualize seu arquivo azuredeploy.json.
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 escolher qualquer uma das versões a serem implantadas.
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 do modelo, selecione Criar nova versão.
Nomeie a nova versão 2.0 e, opcionalmente, adicione notas. Selecione Editar modelo.
Substitua o conteúdo do modelo pelo modelo atualizado. Selecione Rever + Guardar.
Selecione Guardar alterações.
Para implantar a nova versão, selecione Versões
Para a versão que você deseja implantar, selecione os três pontos e Implantar.
Preencha os campos como fez ao implantar a versão anterior.
Selecione Rever + criar.
Selecione Criar.
Novamente, você deve fazer algumas alterações no seu modelo local para fazê-lo funcionar com as especificações do modelo. Copie o modelo a seguir e salve-o localmente como azuredeploy.json.