Övning – Använda Azure Resource Manager-variabler för att lagra uttryck
I den här övningen lagrar du ditt Azure Storage-kontonamnuttryck i en AZURE Resource Manager-mallvariabel (ARM). Sedan använder du variabeln för att ange namnet på lagringskontot som ska skapas.
I den här övningen använder vi Azure Resource Manager Tools för Visual Studio Code. Se till att installera det här tillägget i Visual Studio Code.
Anmärkning
Den här övningen är valfri. Om du vill slutföra den här övningen måste du skapa en Azure-prenumeration innan du börjar. Om du inte har något Azure-konto eller om du inte vill skapa ett för tillfället kan du läsa igenom anvisningarna så att du förstår den information som visas.
Anmärkning
I den här lektionen använder du Azure Cloud Shell som terminal. Du kan komma åt Cloud Shell via Azure-portalen eller Cloud Shell-inloggningen. Du behöver inte installera något på din dator eller bärbara dator för att använda den.
Lägga till en variabel
Lägg till en variabel för att lagra ditt namnuttryck för lagringskontot på en plats i mallen.
I Visual Studio Code i filenazuredeploy.json placerar du markören mellan klammerparenteserna i variabelblocket
"variables":{}och trycker på Retur.Skriv var inuti klammerparenteserna. Du ser en lista över relaterade kodfragment. Välj armvariabel:
Ditt avsnitt för variabler ser ut så här:
"variables": {"variable1": "value"},Ändra namnet på variabeln till uniqueStorageName och ändra värdet till "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Ditt avsnitt för variabler ser ut så här:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },Observera att du använder parametern
storagePrefixi uttrycket i stället för en literalsträng. Annars är det här uttrycket detsamma som det du lärde dig i föregående lektion.Använd variabeln i avsnittet resurser. Ändra värdena för attributen
name:ochdisplayNametill "[variables('uniqueStorageName')]"Hela filen ser ut så här:
{ "$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": {} }
Du kan också distribuera mallen
Den uppdaterade mallen har inga ändringar i den resurs som du distribuerade, så distributionen av den här mallen gör inga ändringar i Din Azure-miljö.
Om du vill distribuera mallen för att se att den lyckas använder du följande Azure CLI-kommandon. Se till att använda samma storagePrefix parametervärde som du använde i den senaste distributionen.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Om du vill distribuera mallen för att se att den lyckas använder du följande Azure PowerShell-kommandon. Se till att använda samma storagePrefix parametervärde som du använde i den senaste distributionen.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}