Kurz: Přidání parametrů do šablony ARM
V předchozím kurzu jste se dozvěděli, jak do šablony přidat účet úložiště Azure a nasadit ho. V tomto kurzu se dozvíte, jak vylepšit šablonu Azure Resource Manager (šablonu ARM) přidáním parametrů. Dokončení této instrukce trvá 14 minut .
Požadavky
Doporučujeme absolvovat kurz o prostředcích, ale není to nutné.
Musíte mít nainstalovaný Visual Studio Code a pracovat s rozšířením Azure Resource Manager Tools a Azure PowerShell nebo Rozhraní příkazového řádku (CLI) Azure Command-Line. Další informace najdete v tématu Nástroje šablon.
Zkontrolovat šablonu
Na konci předchozího kurzu má 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",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "{provide-unique-name}",
"location": "eastus",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Můžete si všimnout, že došlo k problému s touto šablonou. Název účtu úložiště je pevně zakódovaný. Danou šablonu proto můžete použít jen k nasazení stejného účtu úložiště. Pokud chcete nasadit účet úložiště s jiným názvem, musíte vytvořit novou šablonu, což samozřejmě není praktický způsob automatizace nasazení.
Nastavení opakovaně použitelné šablony
Aby byla šablona opakovaně použitelná, přidáme parametr, který můžete použít k předání názvu účtu úložiště. Zvýrazněný soubor JSON v následujícím příkladu ukazuje změny v šabloně. Parametr storageName
je identifikován jako řetězec. Název účtu úložiště má všechna malá písmena nebo číslice a má maximálně 24 znaků.
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
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "[parameters('storageName')]",
"location": "eastus",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Nasazení šablony
Pojďme nasadit šablonu. Následující příklad nasadí šablonu pomocí Azure CLI nebo PowerShellu. Všimněte si, že název účtu úložiště zadáte jako jednu z hodnot v příkazu nasazení. Jako název účtu úložiště zadejte stejný název, jaký jste použili v předchozím kurzu.
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 addnameparameter `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storageName "{your-unique-name}"
Principy aktualizací prostředků
Po nasazení účtu úložiště se stejným názvem, jaký jste použili dříve, vás může zajímat, jak opětovné nasazení ovlivní prostředek.
Pokud prostředek již existuje a ve vlastnostech nedošlo k žádné změně, není potřeba provádět další akce. Pokud prostředek existuje a vlastnost se změní, aktualizuje se. V případě, že prostředek neexistuje, vytvoří se.
Tento způsob zpracování aktualizací znamená, že vaše šablona může obsahovat všechny prostředky, které potřebujete pro řešení Azure. Šablonu můžete bezpečně znovu nasadit a vědět, že se prostředky mění nebo se vytvářejí jenom v případě potřeby. Pokud například do účtu úložiště přidáte soubory, můžete účet úložiště nasadit znovu, aniž byste o soubory přišli.
Přizpůsobení podle prostředí
Parametry umožňují přizpůsobit nasazení zadáním hodnot přizpůsobených konkrétnímu prostředí. Můžete předat různé hodnoty, například podle toho, jestli nasazujete do vývojového, testovacího nebo produkčního prostředí.
Předchozí šablona vždy nasadí standardní místně redundantní úložiště (LRS) Standard_LRS účet. Můžete chtít flexibilitu při nasazování různých skladových jednotek (SKU) v závislosti na prostředí. Následující příklad ukazuje změny pro přidání parametru pro skladovou položku. Zkopírujte celý soubor a vložte ho do šablony.
{
"$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": "2021-09-01",
"name": "[parameters('storageName')]",
"location": "eastus",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Parametr storageSKU
má výchozí hodnotu. Tuto hodnotu použijte, pokud ji nasazení neurčí. Obsahuje také seznam povolených hodnot. Tyto hodnoty odpovídají hodnotám potřebným k vytvoření účtu úložiště. Chcete, aby uživatelé šablony předávali SKU, které fungují.
Opětovné nasazení šablony
Jste připraveni k dalšímu nasazení. Vzhledem k tomu, že výchozí skladová položka je nastavená na Standard_LRS, už jste zadali hodnotu parametru.
New-AzResourceGroupDeployment `
-Name addskuparameter `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storageName "{your-unique-name}"
Poznámka
Pokud nasazení selže, použijte verbose
přepínač k získání informací o vytvářených prostředcích.
debug
Pomocí přepínače získáte další informace pro ladění.
Pokud chcete zjistit flexibilitu šablony, pojďme ji znovu nasadit. Tentokrát nastavte parametr skladové položky na standardní geograficky redundantní úložiště (GRS) Standard_GRS. Můžete buď předat nový název a vytvořit jiný účet úložiště, nebo použít stejný název k aktualizaci stávajícího účtu úložiště. Obě možnosti fungují.
New-AzResourceGroupDeployment `
-Name usenondefaultsku `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storageName "{your-unique-name}" `
-storageSKU Standard_GRS
Nakonec spustíme ještě jeden test a podíváme se, co se stane, když předáte skladovou položku, která není jednou z povolených hodnot. V tomto případě otestujeme scénář, ve kterém uživatel šablony považuje základní za jednu ze skladových položek.
New-AzResourceGroupDeployment `
-Name testskuparameter `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storageName "{your-unique-name}" `
-storageSKU basic
Příkaz najednou selže s chybovou zprávou, která zobrazí povolené hodnoty. Procesor ARM najde chybu před zahájením 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 vyčistit nasazené prostředky odstraněním skupiny prostředků.
- V Azure Portal v nabídce vlevo vyberte Skupina prostředků.
- Do textového pole Filtr pro 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
Vylepšili jste šablonu, kterou jste vytvořili v prvním kurzu , přidáním parametrů. V dalším kurzu se dozvíte o funkcích šablon.