Latihan - Gunakan variabel Azure Resource Manager untuk menyimpan ekspresi

Selesai

Dalam latihan ini, Anda menyimpan ekspresi nama penyimpanan Azure dalam variabel templat Azure Resource Manager (ARM). Kemudian, Anda menggunakan variabel tersebut untuk menentukan nama akun penyimpanan yang akan dibuat.

Dalam latihan ini, kami menggunakan Alat Azure Resource Manager untuk Visual Studio Code. Pastikan untuk menginstal ekstensi ini di Visual Studio Code.

Tambahkan variabel

Tambahkan variabel untuk menyimpan ekspresi nama akun penyimpanan Anda di satu tempat di templat.

  1. Di Visual Studio Code, dalam file azuredeploy.json , letakkan kursor Anda di antara kurung kurawal di blok "variables":{} variabel dan tekan Enter.

  2. Ketikkan var di dalam kurung kurawal. Anda akan melihat daftar cuplikan terkait. Pilih variabel arm:

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

  3. Bagian variabel Anda terlihat seperti kode ini:

    "variables": {"variable1": "value"},
    
  4. Ubah nama variabel menjadi uniqueStorageName, dan ubah nilai menjadi "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Bagian variabel Anda terlihat seperti kode ini:

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

    Perhatikan bahwa Anda menggunakan parameter storagePrefix dalam ekspresi tersebut dan bukan string yang sebenarnya. Jika tidak, ekspresi ini akan sama dengan yang sudah dipelajari di unit sebelumnya.

  5. Gunakan variabel pada bagian sumber daya. Ubah nilai name: dan atribut displayName menjadi "[variables('uniqueStorageName')]"

  6. Seluruh file terlihat seperti contoh ini:

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

Sebagai opsi, sebarkan templat

Templat yang diperbarui tidak memiliki perubahan apa pun pada sumber daya yang Anda sebarkan, jadi menyebarkan templat ini tidak membuat perubahan apa pun pada lingkungan Azure Anda.

Jika Anda ingin menyebarkan templat untuk melihatnya berfungsi, gunakan perintah Azure CLI berikut. Pastikan untuk menggunakan nilai parameter storagePrefix yang sama dengan yang digunakan dalam penyebaran sebelumnya.

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

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

Jika Anda ingin menyebarkan templat untuk melihat keberhasilannya, gunakan perintah Azure PowerShell berikut. Pastikan untuk menggunakan nilai parameter storagePrefix yang sama dengan yang digunakan dalam penyebaran sebelumnya.

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