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.
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:
- Visual Studio Code met de extensie Resource Manager Tools. Zie de quickstart: ARM-sjablonen maken met Visual Studio Code voor meer informatie.
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.
Selecteer in Visual Studio Code Bestand>Bestand openen.
Plak de volgende URL in Bestandsnaam:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Selecteer Openen om het bestand te openen.
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.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:
Voeg een
copy
-element toe aan de resourcedefinitie van het opslagaccount. Geef in hetcopy
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 },
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 functiecopyIndex()
. Bijvoorbeeld:copyIndex(1)
."name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
Verwijder de
storageAccountName
parameterdefinitie omdat deze niet meer wordt gebruikt.Verwijder het
outputs
element. Dit wordt niet meer gebruikt.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
Meld u aan bij Azure Cloud Shell
Kies uw favoriete omgeving door in de linkerbovenhoek PowerShell of Bash (voor CLI) te selecteren. U moet de shell opnieuw starten wanneer u overschakelt.
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 opdrachtcat
gebruiken om te controleren of het bestand is geüpload.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.
- Selecteer Resourcegroep in het linkermenu van Azure Portal.
- Voer de naam van de resourcegroep in het veld Filter by name in.
- Selecteer de naam van de resourcegroep. U ziet in totaal drie resources in de resourcegroep.
- 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.