Exercício – usar variáveis do Azure Resource Manager para armazenar expressões

Concluído

Neste exercício, você armazena sua expressão de nome de conta de armazenamento do Azure em uma variável de modelo do ARM (Azure Resource Manager). Em seguida, use essa variável para especificar o nome da conta de armazenamento a ser criada.

Neste exercício, usamos as Ferramentas do Azure Resource Manager para Visual Studio Code. Certifique-se de instalar essa extensão no Visual Studio Code.

Observação

Este exercício é opcional. Se você quiser concluir este exercício, precisará criar uma assinatura do Azure antes de começar. Se você não tiver uma conta do Azure ou não quiser criar uma no momento, leia as instruções para entender as informações que estão sendo apresentadas.

Observação

Nesta unidade, você usa o Azure Cloud Shell como um terminal. Você pode acessar o Cloud Shell por meio do portal do Azure ou da entrada do Cloud Shell. Você não precisa instalar nada em seu PC ou laptop para usá-lo.

Adicionar uma variável

Adicione uma variável para armazenar a expressão de nome da conta de armazenamento em um só lugar no modelo.

  1. No Visual Studio Code, no arquivo azuredeploy.json, coloque o cursor entre chaves no bloco de variáveis "variables":{} e pressione Enter.

  2. Digite var dentro das chaves. Você verá uma lista de trechos de código relacionados. Selecione arm-variable:

    Captura de tela do Visual Studio Code mostrando trechos para variáveis de modelo do Azure Resource Manager.

  3. Sua seção de variáveis se parece com este código:

    "variables": {"variable1": "value"},
    
  4. Altere o nome da variável para uniqueStorageName e altere o valor para "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id))]". Sua seção de variáveis se parece com este código:

    "variables": {
        "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"
      },
    

    Observe que você está usando o storagePrefix parâmetro na expressão em vez de uma cadeia de caracteres literal. Caso contrário, essa expressão é a mesma que você aprendeu na unidade anterior.

  5. Use a variável na seção de recursos. Altere os valores dos name: atributos e displayName para "[variables('uniqueStorageName')]"

  6. O arquivo inteiro se parece com este exemplo:

    {
      "$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": {}
    }
    

Opcionalmente, implante o modelo

O modelo atualizado não tem nenhuma alteração no recurso implantado, portanto, implantar esse modelo não faz nenhuma alteração em seu ambiente do Azure.

Se você quiser implantar o modelo para vê-lo com êxito, use os comandos da CLI do Azure a seguir. Use o mesmo storagePrefix valor de parâmetro usado na última implantação.

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 você quiser implantar o modelo para vê-lo com êxito, use os seguintes comandos do Azure PowerShell. Use o mesmo storagePrefix valor de parâmetro usado na última implantação.

$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile `
  -storagePrefix {your-Prefix}