Udostępnij przez


Szybki start: tworzenie i wdrażanie specyfikacji szablonu

W tym przewodniku Szybki start pokazano, jak spakować szablon usługi Azure Resource Manager (szablon arm) do specyfikacji szablonu. Następnie wdrożysz specyfikację tego szablonu. Specyfikacja szablonu zawiera szablon usługi ARM, który wdraża konto magazynu.

Tip

Bicep jest zalecany, ponieważ oferuje te same możliwości co szablony ARM, a jego składnia jest łatwiejsza do użycia. Aby dowiedzieć się więcej, zobacz Szybki start: tworzenie i wdrażanie specyfikacji szablonu przy użyciu aplikacji Bicep.

Prerequisites

Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

Note

Aby użyć specyfikacji szablonu w programie Azure PowerShell, musisz zainstalować wersję 5.0.0 lub nowszą. Aby używać go z interfejsem wiersza polecenia platformy Azure, użyj wersji 2.14.2 lub nowszej.

Tworzenie szablonu

Tworzysz specyfikację szablonu z szablonu ARM. Skopiuj poniższy szablon i zapisz go jako C:\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-06-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}

Tworzenie specyfikacji szablonu

Specyfikacja szablonu to typ zasobu o nazwie Microsoft.Resources/templateSpecs. Aby utworzyć specyfikację szablonu, użyj programu PowerShell, interfejsu wiersza polecenia platformy Azure, witryny Azure Portal lub szablonu usługi ARM.

  1. Utwórz nową grupę zasobów, aby zawierała specyfikację szablonu.

    New-AzResourceGroup `
      -Name templateSpecRG `
      -Location westus2
    
  2. Utwórz specyfikację szablonu w tej grupie zasobów. Nadaj nowemu szablonowi nazwę storageSpec.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "1.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\Templates\createStorageV1.json"
    

Wdrażanie specyfikacji szablonu

Aby wdrożyć specyfikację szablonu, użyj tych samych poleceń wdrażania, których można użyć do wdrożenia szablonu. Przekaż identyfikator zasobu specyfikacji szablonu do wdrożenia.

  1. Utwórz grupę zasobów zawierającą nowe konto magazynu.

    New-AzResourceGroup `
      -Name storageRG `
      -Location westus2
    
  2. Pobierz identyfikator zasobu specyfikacji szablonu.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "1.0").Versions.Id
    
  3. Wdróż specyfikację szablonu.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG
    
  4. Podaj parametry dokładnie tak, jak w przypadku szablonu usługi ARM. Ponownie wdróż specyfikację szablonu przy użyciu parametru dla typu konta magazynu.

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

Przyznaj dostęp

Aby umożliwić innym użytkownikom w organizacji wdrożenie specyfikacji szablonu, przyznaj im dostęp do odczytu. Przypisz rolę Czytelnik do grupy Microsoft Entra dla grupy zasobów zawierającej specyfikacje szablonu, które chcesz udostępnić. Aby uzyskać więcej informacji, zobacz Samouczek: udzielanie grupie dostępu do zasobów platformy Azure przy użyciu programu Azure PowerShell.

Aktualizowanie szablonu

Aby wprowadzić zmianę w szablonie w specyfikacji szablonu, popraw szablon. Poniższy szablon jest podobny do poprzedniego szablonu, z wyjątkiem tego, że dodaje prefiks nazwy konta magazynu. Skopiuj poniższy szablon i zapisz go jako plik createStorageV2.json .

{
  "$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"
      }
    }
  ]
}

Aktualizowanie wersji specyfikacji szablonu

Zamiast tworzyć nową specyfikację szablonu dla poprawionego szablonu, dodaj nową wersję o nazwie 2.0 do istniejącej specyfikacji szablonu. Możesz wdrożyć jedną z tych wersji.

  1. Utwórz nową wersję specyfikacji szablonu.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "2.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\Templates\createStorageV2.json"
    
  2. Aby wdrożyć nową wersję, pobierz identyfikator zasobu dla 2.0 wersji.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "2.0").Versions.Id
    
  3. Wdróż wersję. Podaj prefiks nazwy konta magazynu.

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

Czyszczenie zasobów

Aby wyczyścić zasób wdrożony w tym przewodniku Szybki start, usuń obie utworzone grupy zasobów.

  1. W witrynie Azure Portal wybierz pozycję Grupa zasobów z menu po lewej stronie.
  2. Wprowadź nazwę grupy zasobów (templateSpecRG i storageRG) w polu Filtruj według nazwy.
  3. Wybierz nazwę grupy zasobów.
  4. Z górnego menu wybierz pozycję Usuń grupę zasobów.

Dalsze kroki

Aby dowiedzieć się więcej o tworzeniu specyfikacji szablonu zawierającej połączone szablony, zobacz jak utworzyć specyfikację szablonu połączonego szablonu.