Gyakorlat – Kifejezések tárolása Azure Resource Manager-változók használatával

Befejeződött

Ebben a gyakorlatban az Azure-tárfiók nevének kifejezését egy Azure Resource Manager- (ARM-) sablon változójában fogja tárolni. Ezután ezzel a változóval adja meg a létrehozandó tárfiók nevét.

Ebben a gyakorlatban az Azure Resource Manager Tools for Visual Studio Code-ot használjuk. Telepítse ezt a bővítményt a Visual Studio Code-ban.

Változó hozzáadása

Adjon hozzá egy változót a tárfiók névkifejezésének egy helyen való tárolásához a sablonban.

  1. A Visual Studio Code-ban a azuredeploy.json fájlban helyezze a kurzort a kapcsos zárójelek közé a változók blokkjában "variables":{} , és nyomja le az Enter billentyűt.

  2. A kapcsos zárójelek közé írja be a var szót. Ekkor megjelenik a kapcsolódó kódrészletek listája. Válassza az arm-variable-t:

    Screenshot of Visual Studio Code that shows the snippets for Azure Resource Manager template variables.

  3. A változók szakasz a következő kódhoz hasonlóan néz ki:

    "variables": {"variable1": "value"},
    
  4. Módosítsa a változó nevét uniqueStorageName értékre, és módosítsa a következő értékre: "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". A változók szakasz a következő kódhoz hasonlóan néz ki:

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

    Ebben az esetben szövegkonstans helyett a storagePrefix paramétert használja a kifejezésben. Egyéb szempontból ez a kifejezés megegyezik az előző leckében ismertetettel.

  5. Használja a resources szakaszban szereplő változót. Módosítsa a name: és a displayName attribútum értékét a következőre: [variables('uniqueStorageName')].

  6. A teljes fájl a következő példához hasonlóan néz ki:

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

Ha szeretné, üzembe is helyezheti a sablont

A frissített sablon nem módosítja az üzembe helyezett erőforrást, ezért a sablon üzembe helyezése nem módosítja az Azure-környezetet.

Ha üzembe szeretné helyezni a sablont, hogy lássa a működését, használja az alábbi Azure CLI-parancsokat. Ügyeljen arra, hogy az előző üzembe helyezés során alkalmazott storagePrefix paramétert használja.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today

az deployment group create \
  --name $DeploymentName \
  --template-file $templateFile \
  --parameters storagePrefix={your-Prefix}

Ha üzembe szeretné helyezni a sablont, hogy lássa a működését, használja az alábbi Azure PowerShell-parancsokat. Ügyeljen arra, hogy az előző üzembe helyezés során alkalmazott storagePrefix paramétert használja.

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