Övning – Använda Azure Resource Manager-variabler för att lagra uttryck
I den här övningen lagrar du uttrycket för namnet på ditt Azure-lagringskonto i en ARM-mallvariabel (Azure Resource Manager). 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. Installera tillägget i Visual Studio Code.
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 filen azuredeploy.json placerar du markören mellan klammerparenteserna i variabelblocket
"variables":{}
och trycker på Retur.Skriv var inuti klammerparenteserna. En lista över relaterade kodfragment visas. Välj arm-variable:
Avsnittet 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)))]". Avsnittet variabler ser ut så här:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
Observera att du använder parametern
storagePrefix
i uttrycket i stället för en literalsträng. I övrigt är uttrycket samma som det som du lärde dig om i den förra lektionen.Använd variabeln i resources-avsnittet. Ändra värdena för attributen
name:
ochdisplayName
till "[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": {} }
Om du vill kan du 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ö.
Använd följande Azure CLI-kommandon om du vill distribuera mallen för att se att den lyckas. Använd 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}
Använd följande Azure PowerShell-kommandon om du vill distribuera mallen för att se att den lyckas. Använd 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}