Compartilhar via


Guia de início rápido: Criar e implantar uma especificação de modelo

Este início rápido mostra como empacotar um modelo do ARM (Azure Resource Manager) em uma especificação de modelo. Então, você implanta essa especificação. A especificação de modelo contém um modelo do ARM que implanta uma conta de armazenamento.

Tip

O Bicep é recomendado, pois oferece os mesmos recursos que os modelos do ARM e a sintaxe é mais fácil de usar. Para saber mais, confira Guia de Início Rápido: Criar e implantar uma especificação de modelo com o Bicep.

Prerequisites

Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.

Note

Para usar a especificação de modelo com o Azure PowerShell, você precisará instalar a versão 5.0.0 ou posterior. Para usá-lo com a CLI do Azure, use a versão 2.14.2 ou posterior.

Criar modelo

Você cria uma especificação de modelo com base em um modelo do ARM. Copie o modelo a seguir e salve como C:\Templates\createStorageV1.json.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "defaultValue": "[uniqueString(resourceGroup().id)]"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}

Criar 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 o PowerShell, a CLI do Azure, o portal do Azure ou um modelo do ARM.

  1. Crie um grupo de recursos para conter a especificação de modelo.

    New-AzResourceGroup `
      -Name templateSpecRG `
      -Location westus2
    
  2. Crie a especificação de modelo nesse grupo de recursos. Nomeie a nova especificação de modelo storageSpec.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "1.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\Templates\createStorageV1.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.

  1. Crie um grupo de recursos para conter a nova conta de armazenamento.

    New-AzResourceGroup `
      -Name storageRG `
      -Location westus2
    
  2. Obtenha a ID do recurso da especificação de modelo.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "1.0").Versions.Id
    
  3. Implante a especificação de modelo.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG
    
  4. Forneça 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.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG `
      -storageAccountType Standard_GRS
    

Conceder acesso

Para permitir que outros usuários na sua organização implantem sua especificação de modelo, conceda 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 a um usuário usando o Azure PowerShell.

Atualizar modelo

Para fazer uma alteração no modelo em sua especificação de modelo, revise o modelo. O modelo a seguir é semelhante ao modelo anterior, exceto por adicionar um prefixo para o nome da conta de armazenamento. Copie o modelo a seguir e salve-o como createStorageV2.json arquivo.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "defaultValue": "[format('store{0}', uniqueString(resourceGroup().id))]"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}

Atualizar a versão da especificação de modelo

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. Você pode implantar qualquer uma das versões.

  1. Crie uma versão para a especificação de modelo.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "2.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\Templates\createStorageV2.json"
    
  2. Para implantar a nova versão, obtenha a ID do recurso para a versão 2.0.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "2.0").Versions.Id
    
  3. Implante essa versão. Forneça um prefixo para o nome da conta de armazenamento.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG `
      -namePrefix "demoaccount"
    

Limpar os recursos

Para limpar o recurso implantado neste início rápido, exclua ambos os grupos de recursos criados.

  1. No portal do Azure, selecione Grupo de recursos no menu à esquerda.
  2. Insira o nome do grupo de recursos (templateSpecRG e storageRG) no campo Filtrar por nome.
  3. Selecione o nome do grupo de recursos.
  4. Selecione Excluir grupo de recursos no menu superior.

Próximas etapas

Para saber mais sobre como criar uma especificação de modelo que inclua modelos vinculados, veja como criar uma especificação de modelo de um modelo vinculado.