Kurz: Vytváření více instancí prostředků pomocí šablon ARM
Zjistěte, jak iterovat v šabloně Azure Resource Manager (šablona ARM) a vytvořit více instancí prostředku Azure. V tomto kurzu upravíte šablonu tak, aby vytvořila tři instance účtu úložiště.
Tento kurz se zabývá následujícími úkony:
- Otevření šablony pro rychlý start
- Úprava šablony
- Nasazení šablony
Pokud předplatné Azure ještě nemáte, napřed si vytvořte bezplatný účet.
Modul Learn, který se zabývá kopírováním prostředků, najdete v tématu Správa složitých cloudových nasazení pomocí pokročilých funkcí šablon ARM.
Požadavky
K dokončení tohoto článku potřebujete:
- Visual Studio Code s rozšířením Resource Manager Tools. Viz Rychlý start: Vytváření šablon ARM pomocí editoru Visual Studio Code.
Otevření šablony pro rychlý start
Šablony azure pro rychlý start jsou úložiště pro šablony ARM. Místo vytvoření šablony úplně od začátku si můžete najít ukázkovou šablonu a přizpůsobit ji. Šablona, kterou jsme použili v tomto rychlém startu, se nazývá Create a standard storage account (Vytvoření standardního účtu úložiště). Šablona definuje prostředek účtu služby Azure Storage.
V editoru Visual Studio Code vyberte Soubor>Otevřít soubor.
Do pole File name (Název souboru) vložte následující adresu URL:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Výběrem Open (Otevřít) soubor otevřete.
V šabloně
Microsoft.Storage/storageAccounts
je definovaný prostředek. Porovnejte tuto šablonu s referenčními informacemi k šablonám. Před přizpůsobením šablony je užitečné se seznámit se základními informacemi.Vyberte Soubor>Uložit jako a uložte soubor jako azuredeploy.json do místního počítače.
Úprava šablony
Stávající šablona vytvoří jeden účet úložiště. Upravíte šablonu tak, aby vytvořila tři účty úložiště.
Z Visual Studio Code proveďte následující čtyři změny:
Přidejte prvek
copy
k definování prostředků účtu úložiště. V elementucopy
zadáte počet iterací a proměnnou pro tuto smyčku. Početní hodnota musí být kladný integer a nesmí překročit 800."copy": { "name": "storageCopy", "count": 3 },
Funkce
copyIndex()
vrátí aktuální iteraci ve smyčce. Tento index použijete jako předponu názvu.copyIndex()
je založen na nule. Pokud chcete hodnotu indexu odsadit, můžete předat hodnotu vecopyIndex()
funkci. Například,copyIndex(1)
."name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
Odstraňte definici
storageAccountName
parametru, protože se už nepoužívá.outputs
Odstraňte element. Už to není potřeba.metadata
Odstraňte element.
Hotová šablona vypadá takto:
{
"$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": {}
}
]
}
Uložte změny.
Další informace o vytváření více instancí najdete v tématu Iterace prostředků v šablonách ARM.
Nasazení šablony
Přihlaste se k Azure Cloud Shell
Vyberte upřednostňované prostředí tak, že v levém horním rohu vyberete PowerShell nebo Bash (pro rozhraní příkazového řádku). Po přepnutí se vyžaduje restartování prostředí.
Vyberte Nahrát nebo stáhnout soubory a potom vyberte Nahrát. Viz předchozí snímek obrazovky. Vyberte soubor, který jste uložili v předchozí části. Po nahrání souboru můžete pomocí
ls
příkazu acat
příkazu ověřit, že se soubor úspěšně nahrál.V Cloud Shell spusťte následující příkazy. Výběrem odpovídající karty zobrazíte kód PowerShellu nebo kód rozhraní příkazového řádku.
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 úspěšném nasazení šablony můžete zobrazit tři účty úložiště vytvořené v zadané skupině prostředků. Porovnejte názvy účtů úložiště s názvem definice v šabloně.
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 ..."
Vyčištění prostředků
Pokud už nasazené prostředky Azure nepotřebujete, vyčistěte je odstraněním skupiny prostředků.
- V Azure Portal v nabídce vlevo vyberte Skupina prostředků.
- Do pole Filtrovat podle názvu zadejte název skupiny prostředků.
- Vyberte název skupiny prostředků. Ve skupině prostředků uvidíte celkem tři prostředky.
- V horní nabídce vyberte Odstranit skupinu prostředků .
Další kroky
V tomto kurzu jste se naučili, jak vytvořit více instancí účtu úložiště. V dalším kurzu se zaměříte na vývoj šablony s více prostředky a více typy prostředků. Některé prostředky mají závislé prostředky.