Delen via


Zelfstudie: Meerdere resource-exemplaren maken met ARM-sjablonen

Leer hoe u een ARM-sjabloon (Azure Resource Manager) herhaaldelijk gebruikt om meerdere instanties van een Azure-resource te maken. In deze zelfstudie wijzigt u een sjabloon om drie instanties van het opslagaccount te maken.

Diagram waarin Azure Resource Manager meerdere exemplaren maakt.

Deze zelfstudie bestaat uit de volgende taken:

  • Een snelstartsjabloon openen
  • De sjabloon bewerken
  • De sjabloon implementeren

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Raadpleeg Complexe cloudimplementaties beheren met behulp van geavanceerde functies voor ARM-sjablonen voor een Microsoft Learn-module over het kopiëren van resources.

Vereisten

U hebt het volgende nodig om dit artikel te voltooien:

Een snelstartsjabloon openen

Azure-quickstart-sjablonen is een opslagplaats voor ARM-sjablonen. In plaats van een sjabloon helemaal vanaf de basis te maken, kunt u een voorbeeldsjabloon zoeken en aanpassen. De in deze snelstart gebruikte sjabloon wordt Create a standard storage account (Standaardopslagaccount maken) genoemd. De sjabloon definieert een Azure Storage-accountresource.

  1. Selecteer in Visual Studio Code Bestand>Bestand openen.

  2. Plak de volgende URL in Bestandsnaam:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Selecteer Openen om het bestand te openen.

  4. Er is een Microsoft.Storage/storageAccounts resource gedefinieerd in de sjabloon. Vergelijk de sjabloon met de sjabloonverwijzing. Het is handig om enige basiskennis te hebben van de sjabloon voordat u deze gaat aanpassen.

  5. Als u het bestand wilt opslaan, selecteert u Bestand>opslaan als. Sla het bestand op als azuredeploy.json op uw lokale computer.

De sjabloon bewerken

Met de bestaande sjabloon wordt één opslagaccount gemaakt. U past de sjabloon aan om drie opslagaccounts te maken.

Breng vanuit Visual Studio Code de volgende vier wijzigingen aan:

Schermopname van Visual Studio Code met Azure Resource Manager waarmee meerdere exemplaren worden gemaakt.

  1. Voeg een copy-element toe aan de resourcedefinitie van het opslagaccount. Geef in het copy element het aantal iteraties en een variabele voor deze lus op. Het aantal iteraties moet een positief geheel getal zijn en mag niet hoger zijn dan 800.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. De functie copyIndex() retourneert de huidige iteratie in de lus. Gebruik de index als het naamvoorvoegsel. copyIndex() is gebaseerd op nul. Als u de indexwaarde wilt verschuiven, kunt u een waarde doorgeven in de functie copyIndex(). Bijvoorbeeld: copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
  3. Verwijder de storageAccountName parameterdefinitie omdat deze niet meer wordt gebruikt.

  4. Verwijder het outputs element. Dit wordt niet meer gebruikt.

  5. Verwijder het metadata element.

De voltooide sjabloon ziet er als volgt uit:

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

De wijzigingen opslaan.

Raadpleeg Resourceherhaling in ARM-sjablonen voor meer informatie over het maken van meerdere exemplaren

De sjabloon implementeren

  1. Meld u aan bij Azure Cloud Shell

  2. Kies uw favoriete omgeving door in de linkerbovenhoek PowerShell of Bash (voor CLI) te selecteren. U moet de shell opnieuw starten wanneer u overschakelt.

    Bestand uploaden in Cloud Shell in de Azure-portal

  3. Selecteer Upload/download files en selecteer Uploaden. Zie de vorige schermafbeelding. Selecteer het bestand dat u in de vorige sectie hebt opgeslagen. Nadat het bestand is geüpload, kunt u de opdracht ls en de opdracht cat gebruiken om te controleren of het bestand is geüpload.

  4. Voer vanuit Cloud Shell de volgende opdrachten uit. Selecteer het tabblad om de PowerShell-code of de CLI-code weer te geven.

    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"
    

Na een geslaagde sjabloonimplementatie kunt u de drie opslagaccounts weergeven die zijn gemaakt in de opgegeven resourcegroep. Vergelijk de namen van de opslagaccounts met de naamdefinitie in de sjabloon.

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

Resources opschonen

Schoon de geïmplementeerd Azure-resources, wanneer u deze niet meer nodig hebt, op door de resourcegroep te verwijderen.

  1. Selecteer Resourcegroep in het linkermenu van Azure Portal.
  2. Voer de naam van de resourcegroep in het veld Filter by name in.
  3. Selecteer de naam van de resourcegroep. U ziet in totaal drie resources in de resourcegroep.
  4. Selecteer Resourcegroep verwijderen in het bovenste menu.

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u meerdere instanties van opslagaccounts maakt. In de volgende zelfstudie ontwikkelt u een sjabloon met meerdere resources en meerdere resourcetypen. Sommige resources hebben afhankelijke resources.