Esercizio - Usare le variabili di Azure Resource Manager per archiviare le espressioni

Completato

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.

  1. Nel file azuredeploy.json in Visual Studio Code posizionare il cursore tra le parentesi graffe nel blocco delle variabili "variables":{} e premere INVIO.

  2. Digitare var all'interno delle parentesi. Viene visualizzato un elenco dei frammenti di codice correlati. Selezionare arm-variable:

    Screenshot di Visual Studio Code che mostra i frammenti di codice per le variabili del modello di Azure Resource Manager.

  3. La sezione variables è simile al codice seguente:

    "variables": {"variable1": "value"},
    
  4. 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 storagePrefix parametro nell'espressione anziché una stringa letterale. In caso contrario, questa espressione corrisponde a quella illustrata nell'unità precedente.

  5. Usare la variabile nella sezione risorse. Modificare i valori degli name: attributi e displayName in "[variables('uniqueStorageName')]"

  6. 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}