Esercizio - Usare le variabili di Azure Resource Manager per archiviare le espressioni
In questo esercizio si archivia l'espressione del nome dell'account di archiviazione di Azure in una variabile di modello di Azure Resource Manager (ARM). Usare quindi tale variabile per specificare il nome dell'account di archiviazione da creare.
In questo esercizio si usano gli strumenti di Azure Resource Manager per Visual Studio Code. Assicurarsi di installare questa estensione in Visual Studio Code.
Annotazioni
Questo esercizio è facoltativo. Se si vuole completare questo esercizio, è necessario creare una sottoscrizione di Azure prima di iniziare. Se non si ha un account Azure o non si vuole crearne uno in questo momento, è possibile leggere le istruzioni in modo da comprendere le informazioni presentate.
Annotazioni
In questa unità si usa Azure Cloud Shell come terminale. È possibile accedere a Cloud Shell tramite il portale di Azure o l'accesso a Cloud Shell. Non è necessario installare nulla sul PC o sul portatile per usarlo.
Aggiungere una variabile
Aggiungere una variabile per archiviare l'espressione del nome dell'account di archiviazione in un'unica posizione nel modello.
Nel file azuredeploy.json in Visual Studio Code posizionare il cursore tra le parentesi graffe nel blocco delle variabili
"variables":{}e premere INVIO.Digitare var all'interno delle parentesi. Viene visualizzato un elenco dei frammenti di codice correlati. Selezionare arm-variable:
La sezione variables è simile al codice seguente:
"variables": {"variable1": "value"},Modificare il nome della variabile in uniqueStorageName e modificare il valore in "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". La sezione variables è simile al codice seguente:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },Si noti che si usa il
storagePrefixparametro nell'espressione anziché una stringa letterale. In caso contrario, questa espressione corrisponde a quella illustrata nell'unità precedente.Usare la variabile nella sezione risorse. Modificare i valori degli
name:attributi edisplayNamein "[variables('uniqueStorageName')]"L'intero file è simile all'esempio seguente:
{ "$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": "2025-01-01", "tags": { "displayName": "[variables('uniqueStorageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } } ], "outputs": {} }
Se lo si desidera, implementare il modello
Il modello aggiornato non ha modifiche alla risorsa distribuita, quindi la distribuzione di questo modello non apporta modifiche all'ambiente Azure.
Se si vuole distribuire il modello per verificarne l'esito positivo, usare i comandi seguenti dell'interfaccia della riga di comando di Azure. Assicurarsi di usare lo stesso storagePrefix valore del parametro usato nell'ultima distribuzione.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Se si vuole distribuire il modello per verificarne l'esito positivo, usare i comandi di Azure PowerShell seguenti. Assicurarsi di usare lo stesso storagePrefix valore del parametro usato nell'ultima distribuzione.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}