Ćwiczenie — przechowywanie wyrażeń przy użyciu zmiennych usługi Azure Resource Manager
W tym ćwiczeniu zapiszesz wyrażenie nazwy konta usługi Azure Storage w zmiennej szablonu usługi Azure Resource Manager (ARM). Następnie użyjesz tej zmiennej, aby określić nazwę konta magazynu, które chcesz utworzyć.
W tym ćwiczeniu użyjemy Narzędzi usługi Azure Resource Manager dla programu Visual Studio Code. Pamiętaj, aby zainstalować to rozszerzenie w programie Visual Studio Code.
Dodawanie zmiennej
Dodaj zmienną, aby przechowywać nazwę konta pamięci masowej w jednym miejscu w szablonie.
W programie Visual Studio Code w pliku azuredeploy.json umieść kursor między nawiasami klamrowymi w bloku zmiennych
"variables":{}
i naciśnij Enter.Wpisz var wewnątrz nawiasów klamrowych. Zostanie wyświetlona lista powiązanych fragmentów kodu. Wybierz zmienną ramienia :
Sekcja zmiennych wygląda jak ten fragment kodu:
"variables": {"variable1": "value"},
Zmień nazwę zmiennej na uniqueStorageName, a następnie zmień wartość na "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Sekcja zmiennych wygląda następująco w kodzie:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
Zwróć uwagę, że używasz parametru
storagePrefix
w wyrażeniu zamiast ciągu literału. W przeciwnym razie to wyrażenie jest takie samo jak w poprzedniej lekcji.Użyj zmiennej w sekcji zasobów. Zmień wartości atrybutów
name:
idisplayName
na "[variables('uniqueStorageName')]"Cały plik wygląda następująco:
{ "$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" ] } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[variables('uniqueStorageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Opcjonalnie wdróż szablon
Zaktualizowany szablon nie zawiera żadnych zmian w wdrożonym zasobie, dlatego wdrożenie tego szablonu nie powoduje wprowadzania żadnych zmian w środowisku platformy Azure.
Jeśli chcesz wdrożyć szablon, aby zobaczyć, jak się powiedzie, użyj następujących poleceń interfejsu wiersza polecenia platformy Azure. Pamiętaj, aby użyć tej samej wartości parametru storagePrefix
, która była używana w ostatnim wdrożeniu.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Jeśli chcesz wdrożyć szablon, aby zobaczyć, jak się powiedzie, użyj następujących poleceń programu Azure PowerShell. Pamiętaj, aby użyć tej samej wartości parametru storagePrefix
, która była używana w ostatnim wdrożeniu.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}