Sdílet prostřednictvím


Kurz: Přidání funkcí šablon do šablony Azure Resource Manageru

V tomto kurzu se dozvíte, jak do šablony Azure Resource Manageru (šablona ARM) přidat funkce šablon . Funkce slouží k dynamickému vytváření hodnot. Kromě těchto systémových funkcí šablon můžete také vytvářet uživatelem definované funkce. Dokončení tohoto kurzu trvá 7 minut .

Požadavky

Doporučujeme, abyste dokončili kurz týkající se parametrů, ale není to nutné.

Potřebujete Visual Studio Code a Azure PowerShell nebo Azure CLI. Další informace najdete v nástrojích šablon.

Kontrola šablony

Na konci předchozího kurzu měla vaše šablona následující soubor JSON:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 24
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[parameters('storageName')]",
      "location": "eastus",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Předpokládejme, že jste pevně zakódovali umístění účtu úložiště Azure na východ, ale potřebujete ho nasadit do jiné oblasti. Pokud chcete do šablony přidat flexibilitu, musíte přidat parametr a povolit, aby měl jiné umístění.

Použijte funkci

Pokud jste dokončili kurz parametrů, použili jste funkci. Po přidání "[parameters('storageName')]"jste použili funkci parametrů . Hranaté závorky označují, že syntaxe uvnitř závorek je výraz šablony. Resource Manager vyřeší syntaxi místo toho, aby se s ní zacházelo jako s literární hodnotou.

Funkce přidávají do šablony flexibilitu dynamickým získáváním hodnot během nasazování. V tomto kurzu použijete funkci k určení umístění nasazení skupiny prostředků.

Následující příklad zvýrazní změny přidání parametru s názvem location. Výchozí hodnota parametru volá funkci resourceGroup . Tato funkce vrátí objekt s informacemi o nasazené skupině prostředků. Jednou z vlastností objektu je vlastnost umístění. Pokud použijete výchozí hodnotu, účet úložiště a skupina prostředků mají stejné umístění. Prostředky uvnitř skupiny mají různá umístění.

Zkopírujte celý soubor a nahraďte šablonu jejím obsahem:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 24
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[parameters('storageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Nasazení šablony

V předchozích kurzech jste vytvořili účet úložiště v oblasti USA – východ, ale vaše skupina prostředků byla vytvořena v oblasti USA – střed. Pro účely tohoto kurzu vytvoříte účet úložiště ve stejné oblasti jako skupina prostředků. Použijte výchozí hodnotu pro umístění, takže tuto hodnotu parametru nemusíte zadávat. Musíte zadat nový název účtu úložiště, protože vytváříte účet úložiště v jiném umístění. Jako předponu místo úložiště1 použijte store2.

Pokud jste skupinu prostředků nevytvořili, přečtěte si téma Vytvoření skupiny prostředků. V příkladu se předpokládá, že jste proměnnou nastavili templateFile na cestu k souboru šablony, jak je znázorněno v prvním kurzu.

New-AzResourceGroupDeployment `
  -Name addlocationparameter `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storageName "{new-unique-name}"

Poznámka:

Pokud nasazení selže, pomocí verbose přepínače získejte informace o vytvořených prostředcích. Použijte přepínač debug k získání více informací pro ladění.

Ověření nasazení

Nasazení můžete ověřit prozkoumáním skupiny prostředků na webu Azure Portal.

  1. Přihlaste se do Azure Portalu.
  2. V nabídce vlevo vyberte Skupiny prostředků.
  3. Zaškrtněte políčko vlevo od myResourceGroup a vyberte myResourceGroup.
  4. Vyberte skupinu prostředků, kterou jste vytvořili. Výchozí název je myResourceGroup.
  5. Všimněte si, že nasazený účet úložiště a skupina prostředků ve vaší správě mají stejné umístění.

Vyčistěte zdroje

Pokud přecházíte k dalšímu kurzu, není nutné skupinu prostředků mazat.

Pokud se teď zastavujete, možná budete chtít odstranit skupinu prostředků.

  1. Na webu Azure Portal vyberte v nabídce vlevo skupiny prostředků .
  2. Do pole Filtr zadejte název skupiny prostředků pro libovolné textové pole...
  3. Zaškrtněte políčko vedle myResourceGroup a vyberte myResourceGroup nebo název vaší skupiny prostředků.
  4. V horní nabídce vyberte Odstranit skupinu prostředků .

Další kroky

V tomto kurzu použijete funkci k definování výchozí hodnoty parametru. V této sérii kurzů budete dál používat funkce. Na konci řady přidáte funkce do každého oddílu šablony.