Samouczek: Tworzenie wielu wystąpień zasobów przy użyciu szablonów usługi ARM

Dowiedz się, jak iterować w szablonie usługi Azure Resource Manager (szablon arm), aby utworzyć wiele wystąpień zasobu platformy Azure. W tym samouczku zmodyfikujesz szablon w celu utworzenia trzech wystąpień konta magazynu.

Diagram przedstawiający Resource Manager platformy Azure tworzących wiele wystąpień.

Ten samouczek obejmuje następujące zadania:

  • Otwieranie szablonu szybkiego startu
  • Edytowanie szablonu
  • Wdrożenie szablonu

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Aby zapoznać się z modułem Learn obejmującym kopiowanie zasobów, zobacz Zarządzanie złożonymi wdrożeniami w chmurze przy użyciu zaawansowanych funkcji szablonu usługi ARM.

Wymagania wstępne

Aby ukończyć pracę z tym artykułem, potrzebne są następujące zasoby:

Otwieranie szablonu szybkiego startu

Szablony szybkiego startu platformy Azure to repozytorium szablonów usługi ARM. Zamiast tworzyć szablon od podstaw, możesz znaleźć szablon przykładowy i zmodyfikować go. Szablon używany w tym przewodniku Szybki start ma nazwę Create a standard storage account (Tworzenie standardowego konta magazynu). Szablon definiuje zasób konta usługi Azure Storage.

  1. W Visual Studio Code wybierz pozycję Plik>Otwórz plik.

  2. W polu File name (Nazwa pliku) wklej następujący adres URL:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Wybierz pozycję Open (Otwórz), aby otworzyć plik.

  4. W szablonie jest Microsoft.Storage/storageAccounts zdefiniowany zasób. Porównaj szablon z dokumentacją dotyczącą szablonów. Przed dostosowaniem szablonu warto zapoznać się z podstawowymi informacjami.

  5. Wybierz pozycję Zapisz plik>jako , aby zapisać plik jako plik azuredeploy.json na komputerze lokalnym.

Edytowanie szablonu

Istniejący szablon tworzy jedno konto magazynu. Możesz dostosować szablon, aby utworzyć trzy konta magazynu.

Z poziomu programu Visual Studio Code wprowadź następujące cztery zmiany:

Zrzut ekranu przedstawiający Visual Studio Code z usługą Azure Resource Manager tworzenie wielu wystąpień.

  1. Dodaj element copy do definicji zasobu konta magazynu. W elemecie copy należy określić liczbę iteracji i zmienną dla tej pętli. Wartość licznika musi być dodatnią liczbą całkowitą i nie może przekraczać 800.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. Funkcja copyIndex() zwraca bieżącą iterację w pętli. Jako prefiksu nazwy należy użyć indeksu. Funkcja copyIndex() rozpoczyna liczenie od zera. Aby zrównoważyć wartość indeksu, możesz przekazać wartość w copyIndex() funkcji. Na przykład copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. Usuń definicję parametru storageAccountName , ponieważ nie jest już używana.

  4. outputs Usuń element. To już nie jest potrzebne.

  5. metadata Usuń element.

Ukończony szablon wygląda następująco:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GRS",
        "Standard_GZRS",
        "Standard_LRS",
        "Standard_RAGRS",
        "Standard_RAGZRS",
        "Standard_ZRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for the storage account."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-06-01",
      "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "copy": {
        "name": "storageCopy",
        "count": 3
      },
      "properties": {}
    }
  ]
}

Zapisz zmiany.

Aby uzyskać więcej informacji na temat tworzenia wielu wystąpień, zobacz Iteracja zasobów w szablonach usługi ARM

Wdrożenie szablonu

  1. Zaloguj się do usługi Azure Cloud Shell

  2. Wybierz preferowane środowisko, wybierając pozycję PowerShell lub Bash (dla interfejsu wiersza polecenia) w lewym górnym rogu. Po przełączeniu wymagane jest ponowne uruchomienie powłoki.

    Azure Portal Cloud Shell przekazać plik

  3. Wybierz pozycję Przekaż/pobierz pliki, a następnie wybierz pozycję Przekaż. Zobacz poprzedni zrzut ekranu. Wybierz plik, który został zapisany w poprzedniej sekcji. Po przekazaniu pliku możesz użyć ls polecenia i cat polecenia , aby sprawdzić, czy plik został przekazany pomyślnie.

  4. W Cloud Shell uruchom następujące polecenia. Wybierz kartę, aby wyświetlić kod programu PowerShell lub kod interfejsu wiersza polecenia.

    echo "Enter a project name that is used to generate resource group name:" &&
    read projectName &&
    echo "Enter the location (i.e. centralus):" &&
    read location &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location "$location" &&
    az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
    

Po pomyślnym wdrożeniu szablonu można wyświetlić trzy konta magazynu utworzone w określonej grupie zasobów. Porównaj nazwy kont magazynu z definicją nazwy w szablonie.

echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Oczyszczanie zasobów

Gdy zasoby platformy Azure nie będą już potrzebne, wyczyść wdrożone zasoby, usuwając grupę zasobów.

  1. W Azure Portal wybierz pozycję Grupa zasobów z menu po lewej stronie.
  2. Wprowadź nazwę grupy zasobów w polu Filtruj według nazwy.
  3. Wybierz nazwę grupy zasobów. W grupie zasobów zobaczysz łącznie trzy zasoby.
  4. Wybierz pozycję Usuń grupę zasobów z górnego menu.

Następne kroki

W tym samouczku przedstawiono sposób tworzenia wielu wystąpień konta magazynu. W następnym samouczku utworzysz szablon z wieloma zasobami i wieloma typami zasobów. Niektóre zasoby zawierają zasoby zależne.