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í.
Přihlaste se k webu Azure Portal.
V nabídce vlevo vyberte Skupiny prostředků.
Vyberte skupinu prostředků, do které jste nasadili.
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ě.
V historii byste také měli mít uvedeno několik úspěšných nasazení. Vyberte tento odkaz.
Všechna vaše nasazení se zobrazí v historii. Vyberte nasazení s názvem addoutputs.
Vstupy můžete zkontrolovat.
Výstupy si můžete prohlédnout.
Šablonu si můžete prohlédnout.
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ů.
- V Azure Portal v nabídce vlevo vyberte Skupiny prostředků.
- Do textového pole Filtrovat libovolné pole... zadejte název skupiny prostředků.
- Zaškrtněte políčko vedle myResourceGroup a vyberte myResourceGroup nebo název vaší skupiny prostředků.
- 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ě.