Partilhar via


Guia de início rápido: criar e implantar especificações de modelo

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.

Tip

Bicep é recomendado, pois oferece as mesmas capacidades que os modelos ARM e tem uma sintaxe mais fácil de usar. Para saber mais, consulte Guia de início rápido: criar e implantar uma especificação de modelo com o Bicep.

Prerequisites

Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.

Note

Para usar a especificação de modelo com o Azure PowerShell, você deve 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 a partir de um modelo ARM. Copie o modelo a seguir e salve como C:\Templates\createStorageV1.jsem.

{
  "$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 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 do Azure ou um modelo ARM.

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

    New-AzResourceGroup `
      -Name templateSpecRG `
      -Location westus2
    
  2. Crie a especificação do modelo nesse grupo de recursos. Dê à nova especificação de modelo o nome 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 você usaria para implantar um modelo. Passe 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 do modelo.

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

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

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

Conceder acesso

Para permitir que outros usuários em sua organização implantem sua especificação de modelo, conceda-lhes acesso de leitura. Atribua a função Leitor a um grupo do Microsoft Entra para o grupo de recursos que contém as 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

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 que adiciona 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 versão de especificação do 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 nova versão para a especificação do 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 o ID do recurso para a 2.0 versão.

    $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"
    

Clean up resources (Limpar recursos)

Para limpar o recurso implantado neste início rápido, exclua os dois 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 Eliminar grupo de recursos no menu superior.

Próximos passos

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