Oefening: Azure Resource Manager-variabelen gebruiken om expressies op te slaan
In deze oefening slaat u de expressie voor de Azure Storage-accountnaam op in een sjabloonvariabele van Azure Resource Manager (ARM). Vervolgens gebruikt u die variabele om de naam op te geven van het opslagaccount dat u wilt maken.
In deze oefening gebruiken we de Azure Resource Manager Tools voor Visual Studio Code. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.
Een variabele toevoegen
Voeg een variabele toe om de expressie voor de naam van uw opslagaccount op één plaats in de sjabloon op te slaan.
Plaats in Visual Studio Code in het bestand azuredeploy.json de cursor tussen de accolades in het variabelenblok
"variables":{}
en druk op Enter.Typ var- binnen de haken. U ziet een lijst met verwante fragmenten. Kies arm-variable:
De sectie variabelen ziet er als volgt uit:
"variables": {"variable1": "value"},
Wijzig de naam van de variabele in uniqueStorageName en wijzig de waarde in [toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)]'. De sectie variabelen ziet er als volgt uit:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
U ziet dat u de parameter
storagePrefix
in de expressie gebruikt in plaats van een letterlijke tekenreeks. Dit is verder dezelfde expressie die u in de vorige les hebt geleerd.Gebruik de variabele in de sectie resources. Wijzig de waarden van de kenmerken
name:
endisplayName
in '[variables('uniqueStorageName')]'Het hele bestand ziet er als volgt uit:
{ "$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": {} }
U kunt vervolgens de sjabloon implementeren
De bijgewerkte sjabloon bevat geen wijzigingen in de resource die u hebt geïmplementeerd, dus als u deze sjabloon implementeert, worden er geen wijzigingen aangebracht in uw Azure-omgeving.
Als u deze sjabloon echter wilt implementeren om deze te bekijken, gebruikt u de volgende Azure CLI-opdrachten. Zorg ervoor dat u dezelfde parameterwaarde storagePrefix
gebruikt die u in de laatste implementatie hebt gebruikt.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Als u deze sjabloon echter wilt implementeren om deze te bekijken, gebruikt u de volgende Azure PowerShell-opdrachten. Zorg ervoor dat u dezelfde parameterwaarde storagePrefix
gebruikt die u in de laatste implementatie hebt gebruikt.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}