Cvičení – použití značek a souborů parametrů Azure Resource Manageru

Dokončeno

V tomto cvičení přidáte značky, které vám pomůžou organizovat a sledovat prostředky Microsoft Azure. Pomocí souboru parametrů šablony Azure Resource Manageru (ARM) můžete také umožnit různé konfigurace parametrů v jednotlivých nasazeních.

Toto cvičení využívá rozšíření Azure Resource Manager Tools pro Visual Studio Code. Nezapomeňte toto rozšíření do Visual Studio Codu nainstalovat.

Vytvoření značky pro sledování prostředí a projektu nasazení prostředků

Nejprve vytvoříte parametr, který použijete jako značku prostředku v šabloně.

  1. V editoru Visual Studio Code umístěte v souboru azuredeploy.json kurzor za pravou složenou závorku parametru storageSKU . Přidejte čárku a stiskněte Enter.

  2. Zadejte par. Zobrazí se seznam souvisejících fragmentů.

  3. Vyberte arm-param. Pamatujte, že touto akcí se do šablony přidá obecný parametr. Vypadá jako tento kód:

    "parameter1": {
        "type": "string",
        "metadata": {
            "description": "description"
        }
    
  4. Změňte parameter1 na resourceTags a hodnotu "type": na object. Pamatujte, že parametry můžou být typu string, secureString, int, bool, object, secureObject a array data. Odkaz na ukázku syntaxe pro tyto typy parametrů najdete v souhrnu tohoto modulu.

  5. Přidejte atribut s názvem defaultValue: a nastavte hodnotu na {"Environment": "Dev", "Project": "Tutorial"}.

    Blok parametru by měl vypadat jako tento kód:

    "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"
            ]
        },
        "resourceTags": {
        "type": "object",
        "defaultValue": {
            "Environment": "Dev",
            "Project": "Tutorial"
            }
        }
    },
    
  6. Tento parametr použijte k označení prostředku účtu úložiště. Změňte atribut tags: v definici prostředku.

    "tags": "[parameters('resourceTags')]",
    
  7. Soubor by měl vypadat takto:

    {
        "$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"
                ]
            },
            "resourceTags": {
            "type": "object",
            "defaultValue": {
                "Environment": "Dev",
                "Project": "Tutorial"
            }
        }
       },
        "functions": [],
        "variables": {
        "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"
      },
        "resources": [{
            "name": "[variables('uniqueStorageName')]",
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "tags": "[parameters('resourceTags')]",
            "location": "[resourceGroup().location]",
            "kind": "StorageV2",
            "sku": {
             "name": "[parameters('storageSKU')]"
           }
        }],
        "outputs": {}
    }
    
  8. Uložte soubor.

Nasazení šablony ARM s aktualizovanými značkami

  • Nasaďte aktualizovanou šablonu ARM do Azure. Nezapomeňte použít stejný storagePrefix jako předtím.

    templateFile="azuredeploy.json"
    today=$(date +"%d-%b-%Y")
    DeploymentName="updateTags-"$today
    
    az deployment group create \
        --name $DeploymentName \
        --template-file $templateFile \
        --parameters storagePrefix={your-Prefix} storageSKU=Standard_LRS
    
  • Nasaďte aktualizovanou šablonu ARM do Azure. Nezapomeňte použít stejný storagePrefix jako předtím.

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

Ověření, že v nasazení existují nové značky

  1. V Azure vyberte skupinu prostředků [název skupiny prostředků sandboxu] a pak vyberte účet úložiště, který jste nasadili.

  2. Všimněte si značky prostředí : Vývoj a projekt : Značky kurzu :

    Screenshot of the Azure portal that shows the selected tags in the Storage account Overview page.

Použití souboru parametrů

V tuto dobu existují tři parametry, které se mají při každém nasazení této šablony vyplnit. Každý uživatel šablony může vytvořit soubor pro uložení vlastních hodnot parametrů. Tady vytvoříte soubor parametrů pro použití s vaší šablonou.

  1. V editoru Visual Studio Code vytvořte jiný soubor. Pojmenujte ho azuredeploy.parameters.dev.json.

  2. Do tohoto souboru zadáte hodnoty parametrů šablony, které chcete zadat do šablony pro vývojové prostředí. Změňte hodnotu značky, abyste zjistili, jestli nasazení změnu provede. Například můžete změnit projectName na Learn:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "storagePrefix": {
          "value": "{unique-prefix}"
        },
        "storageSKU": {
          "value": "Standard_LRS"
        },
        "resourceTags": {
          "value": {
            "Environment": "Dev",
            "Project": "Learn"
          }
        }
      }
    }
    
  3. Nezapomeňte položku {unique-prefix} nahradit svou jedinečnou předponou.

  4. Uložte soubor.

Nasazení šablony se souborem parametrů

V této části nasadíte šablonu ARM určující, který soubor parametrů se má použít.

  1. V terminálu Visual Studio Codu ve Windows spusťte tyto příkazy Azure CLI:

    templateFile="azuredeploy.json"
    devParameterFile="azuredeploy.parameters.dev.json"
    today=$(date +"%d-%b-%Y")
    DeploymentName="addParameterFile-"$today
    
    az deployment group create \
      --name $DeploymentName \
      --template-file $templateFile \
      --parameters $devParameterFile
    
  2. Zkontrolujte v Azure, jestli bylo nasazení úspěšné a hodnota značky se změnila.

    Screenshot of the Azure portal that shows the updated tag values in the Storage account Overview page.

  3. Pokud chcete zkusit něco těžšího, vytvořte soubor parametrů pro produkční prostředí. Při spuštění příkazu k nasazení do produkčního prostředí změňte cestu k souboru parametrů.

  1. V terminálu editoru Visual Studio Code spusťte tyto příkazy Azure PowerShellu:

    $templateFile = "azuredeploy.json"
    $parameterFile="azuredeploy.parameters.dev.json"
    $today=Get-Date -Format "MM-dd-yyyy"
    $deploymentName="addParameterFile-"+"$today"
    New-AzResourceGroupDeployment `
      -Name $deploymentName `
      -TemplateFile $templateFile `
      -TemplateParameterFile $parameterFile
    
  2. Zkontrolujte v Azure, jestli bylo nasazení úspěšné a hodnota značky se změnila.

    Screenshot of the Azure portal that shows the updated tag values in the Storage account Overview page.

  3. Pokud chcete zkusit něco těžšího, vytvořte soubor parametrů pro produkční prostředí. Při spuštění příkazu k nasazení do produkčního prostředí změňte cestu k souboru parametrů.