Sdílet prostřednictvím


Kurz: Přidání výstupů do šablony ARM

V tomto kurzu zjistíte, jak vrátit hodnotu ze šablony Azure Resource Manager (šablony ARM). Výstupy použijete, když potřebujete hodnotu pro prostředek, který nasadíte. Dokončení tohoto kurzu trvá 7 minut .

Požadavky

Doporučujeme absolvovat kurz o proměnných, ale není to nutné.

Musíte mít Visual Studio Code s rozšířením Resource Manager Tools a buď Azure PowerShell, nebo rozhraní Azure Command-Line Interface (CLI). Další informace najdete v tématu Nástroje šablon.

Zkontrolovat šablonu

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "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]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Nasadí účet úložiště, ale nevrátí o něm žádné informace. Možná budete muset zaznamenat vlastnosti z nového prostředku, aby byly k dispozici později pro referenci.

Přidání výstupů

Výstupy můžete použít k vrácení hodnot ze šablony. Může být užitečné například získat koncové body pro nový účet úložiště.

Následující příklad zvýrazní změnu šablony, která přidá výstupní hodnotu. 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": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "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]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

O přidané výstupní hodnotě byste si měli všimnout několika důležitých položek.

Typ vrácené hodnoty je nastavený na object, což znamená, že vrací objekt JSON.

Pomocí referenční funkce získá stav modulu runtime účtu úložiště. Pokud chcete získat stav modulu runtime prostředku, předejte název nebo ID prostředku. V tomto případě použijete stejnou proměnnou, kterou jste použili k vytvoření názvu účtu úložiště.

Nakonec vrátí primaryEndpoints vlastnost z účtu úložiště.

Nasazení šablony

Jste připraveni nasadit šablonu a podívat se na vrácenou hodnotu.

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

New-AzResourceGroupDeployment `
  -Name addoutputs `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

Ve výstupu příkazu pro nasazení uvidíte objekt podobný následujícímu příkladu pouze v případě, že je výstup ve formátu JSON:

{
    "dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
    "web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
    "blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
    "queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
    "table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
    "file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}

Poznámka

Pokud nasazení selže, pomocí verbose přepínače získejte informace o vytvářených prostředcích. debug Pomocí přepínače získáte další informace o ladění.

Kontrola práce

V posledních šesti kurzech jste toho udělali hodně. Pojďme se na chvíli podívat, co jste udělali. Vytvořili jste šablonu s parametry, které se snadno poskytují. Šablona je opakovaně použitelná v různých prostředích, protože umožňuje přizpůsobení a dynamicky vytváří potřebné hodnoty. Vrátí také informace o účtu úložiště, které byste mohli použít ve skriptu.

Teď se podíváme na skupinu prostředků a historii nasazení.

  1. Přihlaste se k webu Azure Portal.

  2. V nabídce vlevo vyberte Skupiny prostředků.

  3. Vyberte skupinu prostředků, do které jste nasadili.

  4. V závislosti na krocích, které jste provedli, byste měli mít ve skupině prostředků alespoň jeden nebo možná několik účtů úložiště.

  5. V historii byste také měli mít uvedeno několik úspěšných nasazení. Vyberte tento odkaz.

    Snímek obrazovky s Azure Portal s odkazem na nasazení

  6. Všechna vaše nasazení se zobrazí v historii. Vyberte nasazení s názvem addoutputs.

    Snímek obrazovky s Azure Portal zobrazující historii nasazení

  7. Vstupy můžete zkontrolovat.

    Snímek obrazovky s Azure Portal znázorňující vstupy nasazení

  8. Výstupy si můžete prohlédnout.

    Snímek obrazovky s Azure Portal zobrazující výstupy nasazení

  9. Šablonu si můžete prohlédnout.

    Snímek obrazovky s Azure Portal znázorňující šablonu nasazení

Vyčištění prostředků

Pokud přecházíte k dalšímu kurzu, nemusíte skupinu prostředků odstraňovat.

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

  1. V Azure Portal v nabídce vlevo vyberte Skupiny prostředků.
  2. Do textového pole Filtrovat libovolné pole... zadejte název skupiny prostředků.
  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 jste do šablony přidali návratovou hodnotu. V dalším kurzu se naučíte exportovat šablonu a používat části této exportované šablony v šabloně.