Sdílet prostřednictvím


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

Diagram znázorňující Azure Resource Manager vytváření více instancí

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:

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.

  1. V editoru Visual Studio Code vyberte Soubor>Otevřít soubor.

  2. 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
    
  3. Výběrem Open (Otevřít) soubor otevřete.

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

  5. 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:

Snímek obrazovky editoru Visual Studio Code s Azure Resource Manager vytvářením více instancí

  1. Přidejte prvek copy k definování prostředků účtu úložiště. V elementu copy 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
    },
    
  2. 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 ve copyIndex() funkci. Například, copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. Odstraňte definici storageAccountName parametru, protože se už nepoužívá.

  4. outputs Odstraňte element. Už to není potřeba.

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

  1. Přihlaste se k Azure Cloud Shell

  2. 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í.

    Azure Portal Cloud Shell nahrání souboru

  3. 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 a cat příkazu ověřit, že se soubor úspěšně nahrál.

  4. 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ů.

  1. V Azure Portal v nabídce vlevo vyberte Skupina prostředků.
  2. Do pole Filtrovat podle názvu zadejte název skupiny prostředků.
  3. Vyberte název skupiny prostředků. Ve skupině prostředků uvidíte celkem tři prostředky.
  4. 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.