Dieser Schnellstart zeigt Ihnen, wie Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage) in eine Vorlagenspezifikation packen. Anschließend stellen Sie diese Vorlagenspezifikation bereit. Ihre Vorlagenspezifikation enthält eine ARM-Vorlage, mit der ein Speicherkonto bereitgestellt wird.
Prerequisites
Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
Vorlage erstellen
Sie erstellen eine Vorlagenspezifikation aus einer ARM-Vorlage. Kopieren Sie die folgende Vorlage, und speichern Sie  sie unterC:\Templates\createStorageV1.js.
{
  "$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-01-01",
      "name": "[parameters('storageAccountName')]",
      "___location": "[parameters('___location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}
Erstellen von Vorlagenspezifikationen
Die Vorlagenspezifikation ist ein Ressourcentyp namens Microsoft.Resources/templateSpecs. Um eine Vorlagenspezifikation zu erstellen, verwenden Sie PowerShell, die Azure CLI, das Azure-Portal oder eine ARM-Vorlage.
Erstellen Sie eine neue Ressourcengruppe, die die Vorlagenspezifikation enthält.
New-AzResourceGroup `
  -Name templateSpecRG `
  -Location westus2
 
Erstellen Sie die Vorlagenspezifikation in dieser Ressourcengruppe. Weisen Sie der neuen Vorlagenspezifikation den Namen storageSpec zu.
New-AzTemplateSpec `
  -Name storageSpec `
  -Version "1.0" `
  -ResourceGroupName templateSpecRG `
  -Location westus2 `
  -TemplateFile "C:\Templates\createStorageV1.json"
 
Erstellen Sie eine neue Ressourcengruppe, die die Vorlagenspezifikation enthält.
az group create \
  --name templateSpecRG \
  --___location westus2
 
Erstellen Sie die Vorlagenspezifikation in dieser Ressourcengruppe. Weisen Sie der neuen Vorlagenspezifikation den Namen storageSpec zu.
az ts create \
  --name storageSpec \
  --version "1.0" \
  --resource-group templateSpecRG \
  --___location "westus2" \
  --template-file "C:\Templates\createStorageV1.json"
 
Melden Sie sich am Azure-Portal an.
 
Suchen Sie nach Vorlagenspezifikationen. Wählen Sie Vorlagenspezifikationen den verfügbaren Optionen aus.
              
              
              
              
            
 
Wählen Sie Vorlage importieren aus, und folgen Sie dann den Anweisungen, um C:\Templates\createStorageV1.json zu importieren, die Sie zuvor gespeichert haben.
 
Geben Sie außerdem die folgenden Werte an:
- 
              Name: Geben Sie einen Namen für die Vorlagenspezifikation ein. Beispiel: storageSpec
 
- 
              Abonnement: Wählen Sie ein Azure-Abonnement für die Erstellung der Vorlagenspezifikation aus.
 
- 
              Ressourcengruppe: Wählen Sie Neu erstellen aus, und geben Sie einen neuen Ressourcengruppennamen ein. Beispiel: templateSpecRG
 
- 
              Standort: Wählen Sie einen Standort für die Ressourcengruppe aus. Beispiel: USA, Westen 2.
 
- 
              Version: Geben Sie eine Version für die Vorlagenspezifikation ein. Verwenden Sie 1.0.
 
 
Klicken Sie auf Überprüfen + Erstellen und dann auf Erstellen.
 
Note
Wir empfehlen die Verwendung von PowerShell oder CLI anstelle einer ARM-Vorlage, um Ihre Vorlagenspezifikation zu erstellen. Diese Tools konvertieren verknüpfte Vorlagen automatisch in Artefakte, die der Hauptvorlage zugeordnet sind. Wenn Sie eine ARM-Vorlage verwenden, müssen Sie verknüpfte Vorlagen manuell als Artefakte hinzufügen, was komplexer sein kann.
 
Wenn Sie eine ARM-Vorlage zum Erstellen der Vorlagenspezifikation verwenden, wird die Vorlage in die Ressourcendefinition eingebettet. Kopieren Sie die folgende Vorlage, und speichern Sie sie lokal als createTemplateSpec.json:
Note
In der eingebetteten Vorlage müssen alle Vorlagenausdrücke eine zweite linke eckige Klammer als Escapezeichen verwenden. Verwenden Sie "[[ anstelle von "[. JSON-Arrays verwenden weiterhin eine einzelne linke eckige Klammer. Sehen Sie sich die Namen - und Standorteigenschaften im folgenden Beispiel an:
 
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Resources/templateSpecs",
      "apiVersion": "2022-02-01",
      "name": "storageSpec",
      "___location": "westus2",
      "properties": {
        "displayName": "Storage template spec"
      }
    },
    {
      "type": "Microsoft.Resources/templateSpecs/versions",
      "apiVersion": "2022-02-01",
      "name": "[format('{0}/{1}', 'storageSpec', '1.0')]",
      "___location": "westus2",
      "properties": {
        "mainTemplate": {
          "$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-01-01",
              "name": "[[parameters('storageAccountName')]",
              "___location": "[[parameters('___location')]",
              "sku": {
                "name": "Standard_LRS"
              },
              "kind": "StorageV2",
              "properties": {
                "accessTier": "Hot"
              }
            }
          ]
        }
      },
      "dependsOn": [
        "storageSpec"
      ]
    }
  ]
}
 
Verwenden Sie die Azure CLI oder PowerShell, um eine neue Ressourcengruppe zu erstellen.
New-AzResourceGroup `
  -Name templateSpecRG `
  -Location westus2
az group create \
  --name templateSpecRG \
  --___location westus2
 
Stellen Sie Ihre Vorlage mit der Azure CLI oder PowerShell bereit.
New-AzResourceGroupDeployment `
  -ResourceGroupName templateSpecRG `
  -TemplateFile "C:\Templates\createTemplateSpec.json"
az deployment group create \
  --resource-group templateSpecRG \
  --template-file "C:\Templates\createTemplateSepc.json"
 
Überprüfen Sie die Bereitstellung mit der Azure CLI oder PowerShell.
Get-AzTemplateSpec `
  -ResourceGroupName templateSpecRG `
  -Name storageSpec
az ts show \
  --resource-group templateSpecRG \
  --name storageSpec
 
 
Bereitstellen der Vorlagenspezifikationen
Verwenden Sie zum Bereitstellen einer Vorlagenspezifikation dieselben Bereitstellungsbefehle wie zum Bereitstellen einer Vorlage. Übergeben Sie die Ressourcen-ID der bereitzustellenden Vorlagenspezifikation.
Erstellen Sie eine Ressourcengruppe, die das neue Speicherkonto enthält.
New-AzResourceGroup `
  -Name storageRG `
  -Location westus2
 
Rufen Sie die Ressourcen-ID der Vorlagenspezifikation ab.
$id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "1.0").Versions.Id
 
Stellen Sie die Vorlagenspezifikation bereit.
New-AzResourceGroupDeployment `
  -TemplateSpecId $id `
  -ResourceGroupName storageRG
 
Geben Sie die Parameter genau wie bei einer ARM-Vorlage an. Stellen Sie die Vorlagenspezifikation mit einem Parameter für den Speicherkontotyp erneut bereit.
New-AzResourceGroupDeployment `
  -TemplateSpecId $id `
  -ResourceGroupName storageRG `
  -storageAccountType Standard_GRS
 
Erstellen Sie eine Ressourcengruppe, die das neue Speicherkonto enthält.
az group create \
  --name storageRG \
  --___location westus2
 
Rufen Sie die Ressourcen-ID der Vorlagenspezifikation ab.
id=$(az ts show --name storageSpec --resource-group templateSpecRG --version "1.0" --query "id")
Note
Ein Problem beim Abrufen der Vorlagenspezifikations-ID und deren Zuweisung zu einer Variablen in Windows PowerShell ist bekannt.
 
 
Stellen Sie die Vorlagenspezifikation bereit.
az deployment group create \
  --resource-group storageRG \
  --template-spec $id
 
Geben Sie die Parameter genau wie bei einer ARM-Vorlage an. Stellen Sie die Vorlagenspezifikation mit einem Parameter für den Speicherkontotyp erneut bereit.
az deployment group create \
  --resource-group storageRG \
  --template-spec $id \
  --parameters storageAccountType='Standard_GRS'
 
Wählen Sie die von Ihnen erstellte Vorlagenspezifikation. Verwenden Sie das Suchfeld, um die Vorlagenspezifikation zu finden, wenn viele vorhanden sind.
              
              
              
              
            
 
Klicken Sie auf Bereitstellen.
              
              
              
              
            
 
Geben Sie außerdem die folgenden Werte an:
- 
              Abonnement: Wählen Sie ein Azure-Abonnement für die Ressourcenerstellung aus.
 
- 
              Ressourcengruppe: Wählen Sie Neu erstellen aus, und geben Sie storageRG ein.
 
 
Klicken Sie auf Überprüfen und erstellen und dann auf Erstellen.
 
Kopieren Sie die folgende Vorlage, und speichern Sie sie lokal als deployTemplateSpecV1.json:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2025-04-01",
      "name": "demo",
      "properties": {
        "templateLink": {
          "id": "[resourceId('templateSpecRG', 'Microsoft.Resources/templateSpecs/versions', 'storageSpec', '1.0')]"
        },
        "parameters": {
        },
        "mode": "Incremental"
      }
    }
  ]
}
In der Vorlage ist templateSpecRG der Name der Ressourcengruppe, die die Vorlagenspezifikation enthält. "storageSpec " ist der Name der Vorlagenspezifikation, und 1.0 ist die Version der Vorlagenspezifikation.
 
Verwenden Sie die Azure CLI oder PowerShell, um eine neue Ressourcengruppe für das Speicherkonto zu erstellen.
New-AzResourceGroup `
  -Name storageRG `
  -Location westus2
az group create \
  --name storageRG \
  --___location westus2
 
Stellen Sie Ihre Vorlage mit der Azure CLI oder PowerShell bereit.
New-AzResourceGroupDeployment `
  -ResourceGroupName storageRG `
  -TemplateFile "C:\Templates\deployTemplateSpecV1.json"
az deployment group create \
  --resource-group storageRG \
  --template-file "C:\Templates\deployTemplateSpecV1.json"
 
Überprüfen Sie die Bereitstellung mit der Azure CLI oder PowerShell.
Get-AzResource `
  -ResourceGroupName storageRG 
az resource list \
  --resource-group storageRG 
 
 
Gewähren von Zugriff
Wenn Sie anderen Benutzenden in Ihrer Organisation die Bereitstellung Ihrer Vorlagenspezifikation gestatten möchten, gewähren Sie ihnen Lesezugriff. Sie können die Rolle „Leser“ einer Microsoft Entra-Gruppe für die Ressourcengruppe zuweisen, die freizugebende Vorlagenspezifikationen enthält. Weitere Informationen finden Sie im Tutorial: Gewähren des Zugriffs auf Azure-Ressourcen für eine Gruppe mithilfe von Azure PowerShell.
Vorlage aktualisieren
Wenn Sie eine Änderung an der Vorlage in Ihrer Vorlagenspezifikation vornehmen möchten, überarbeiten Sie die Vorlage. Die folgende Vorlage ähnelt Ihrer früheren Vorlage, mit der Ausnahme, dass sie ein Präfix für den Namen des Speicherkontos hinzufügt. Kopieren Sie die folgende Vorlage, und speichern Sie sie als createStorageV2.json Datei.
{
  "$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-01-01",
      "name": "[parameters('storageAccountName')]",
      "___location": "[parameters('___location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}
Aktualisieren der Vorlagenspezifikationsversion
Anstatt eine neue Vorlagenspezifikation für die überarbeitete Vorlage zu erstellen, fügen Sie der vorhandenen Vorlagenspezifikation eine neue Version hinzu, die benannt ist 2.0 . Sie können eine der beiden Versionen bereitstellen.
Erstellen Sie eine neue Version der Vorlagenspezifikation.
New-AzTemplateSpec `
  -Name storageSpec `
  -Version "2.0" `
  -ResourceGroupName templateSpecRG `
  -Location westus2 `
  -TemplateFile "C:\Templates\createStorageV2.json"
 
Um die neue Version bereitzustellen, müssen Sie die Ressourcen-ID für die 2.0-Version abrufen.
$id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "2.0").Versions.Id
 
Stellen Sie diese Version bereit. Geben Sie ein Präfix für den Namen des Speicherkontos an.
New-AzResourceGroupDeployment `
  -TemplateSpecId $id `
  -ResourceGroupName storageRG `
  -namePrefix "demoaccount"
 
Erstellen Sie eine neue Version der Vorlagenspezifikation.
az ts create \
  --name storageSpec \
  --version "2.0" \
  --resource-group templateSpecRG \
  --___location "westus2" \
  --template-file "C:\Templates\createStorageV2.json"
 
Um die neue Version bereitzustellen, müssen Sie die Ressourcen-ID für die 2.0-Version abrufen.
id=$(az ts show --name storageSpec --resource-group templateSpecRG --version "2.0" --query "id")
 
Stellen Sie diese Version bereit. Geben Sie ein Präfix für den Namen des Speicherkontos an.
az deployment group create \
   --resource-group storageRG \
   --template-spec $id \
   --parameters namePrefix='demoaccount'
 
Öffnen Sie die Vorlagenspezifikation storageSpec und wählen Sie Neue Version erstellen aus.
              
              
              
              
            
 
Wählen Sie "1.0 " als Basisvorlage und dann " Erstellen" aus.
 
Nennen Sie die neue Version 2.0, und fügen Sie optional Notizen hinzu. Wählen Sie Vorlage bearbeiten aus.
              
              
              
              
            
 
Ersetzen Sie den Inhalt der Vorlage durch die aktualisierte Vorlage. Klicken Sie auf Überprüfen und speichern.
 
Klicken Sie auf Save changes (Änderungen speichern).
 
Wählen Sie Versionen aus, um die neue Version bereitzustellen.
              
              
              
              
            
 
Öffnen Sie die neue Version, und wählen Sie dann "Bereitstellen" aus.
 
Füllen Sie die Felder wie bei der Bereitstellung der früheren Version aus.
 
Klicken Sie auf Überprüfen und erstellen und dann auf Erstellen.
 
Auch hier müssen Sie einige Änderungen an der lokalen Vorlage vornehmen, damit Sie mit Vorlagenspezifikationen funktioniert. Kopieren Sie die folgende Vorlage, und speichern Sie sie lokal als createTemplateSpec.json:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Resources/templateSpecs",
      "apiVersion": "2022-02-01",
      "name": "storageSpec",
      "___location": "westus2",
      "properties": {
        "displayName": "Storage template spec"
      }
    },
    {
      "type": "Microsoft.Resources/templateSpecs/versions",
      "apiVersion": "2022-02-01",
      "name": "[format('{0}/{1}', 'storageSpec', '2.0')]",
      "___location": "westus2",
      "properties": {
        "mainTemplate": {
          "$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-01-01",
              "name": "[[parameters('storageAccountName')]",
              "___location": "[[parameters('___location')]",
              "sku": {
                "name": "Standard_LRS"
              },
              "kind": "StorageV2",
              "properties": {
                "accessTier": "Hot"
              }
            }
          ]
        }
      },
      "dependsOn": [
        "storageSpec"
      ]
    }
  ]
}
 
Um die neue Version zu Ihrer Vorlagenspezifikation hinzuzufügen, stellen Sie Ihre Vorlage mit der Azure CLI oder PowerShell bereit.
New-AzResourceGroupDeployment `
  -ResourceGroupName templateSpecRG `
  -TemplateFile "C:\Templates\createTemplateSpec.json"
az deployment group create \
  --resource-group templateSpecRG \
  --template-file "C:\Templates\createTemplateSpec.json"
 
überprüfen Sie die Bereitstellung mit der Azure CLI oder PowerShell.
Get-AzTemplateSpec `
  -ResourceGroupName templateSpecRG `
  -Name storageSpec
az ts show \
  --resource-group templateSpecRG \
  --name storageSpec
Die neue Version 2.0 sollte in der Liste der Versionen angezeigt werden.
 
Kopieren Sie die folgende Vorlage, und speichern Sie sie lokal als deployTemplateSpecV2.json:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2025-04-01",
      "name": "demo",
      "properties": {
        "templateLink": {
          "id": "[resourceId('templateSpecRG', 'Microsoft.Resources/templateSpecs/versions', 'storageSpec', '2.0')]"
        },
        "parameters": {
        },
        "mode": "Incremental"
      }
    }
  ]
}
 
Stellen Sie Ihre Vorlage mit der Azure CLI oder PowerShell bereit.
New-AzResourceGroupDeployment `
  -ResourceGroupName storageRG `
  -TemplateFile "C:\Templates\deployTemplateSpecV2.json"
az deployment group create \
  --resource-group storageRG \
  --template-file "C:\Templates\deployTemplateSpecV2.json"
 
Überprüfen Sie die Bereitstellung mit der Azure CLI oder PowerShell.
Get-AzResource `
  -ResourceGroupName storageRG 
az resource list \
  --resource-group storageRG 
Das neue Speicherkonto sollte mit einem Namen angezeigt werden, der beginnt mit store und einer eindeutigen Zeichenfolge basierend auf der Ressourcengruppen-ID.
 
 
Bereinigen von Ressourcen
Löschen Sie zum Bereinigen der in dieser Schnellstartanleitung bereitgestellten Ressource beide Ressourcengruppen, die Sie erstellt haben.
- Wählen Sie im Azure-Portal im linken Menü die Ressourcengruppe aus.
 
- Geben Sie den Ressourcengruppennamen (templateSpecRG und storageRG) in das Feld „Nach Name filtern“ ein.
 
- Klicken Sie auf den Namen der Ressourcengruppe.
 
- Wählen Sie im Menü ganz oben den Befehl zum Löschen der Ressourcengruppe aus.
 
Nächste Schritte
Informationen zum Erstellen einer Vorlagenspezifikation, die verknüpfte Vorlagen enthält, finden Sie unter Erstellen einer Vorlagenspezifikation einer verknüpften Vorlage.