Aracılığıyla paylaş


Öğretici: Azure Resource Manager şablonunuzdaki kaynaklara etiket ekleme

Bu öğreticide, Azure Resource Manager şablonunuzdaki (ARM şablonu) kaynaklara etiket eklemeyi öğreneceksiniz. Etiketler , kaynakları tanımlamanıza ve maliyet raporlarında görünmenize yardımcı olan anahtar-değer çiftlerinden oluşan meta veri öğeleridir. Bu yönergenin tamamlanması 8 dakika sürer.

Önkoşullar

Hızlı Başlangıç Şablonları ile ilgili öğreticiyi tamamlamanızı öneririz, ancak gerekli değildir.

Visual Studio Code'a ve Azure PowerShell'e veya Azure CLI'ya sahip olmanız gerekir. Daha fazla bilgi için bkz. şablon araçları.

Şablonu gözden geçirme

Önceki şablonunuz bir depolama hesabı, App Service planı ve bir web uygulaması dağıttı:

{
  "$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"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "appServicePlanName": {
      "type": "string",
      "defaultValue": "exampleplan"
    },
    "webAppName": {
      "type": "string",
      "metadata": {
        "description": "Base name of the resource such as web app name and app service plan "
      },
      "minLength": 2
    },
    "linuxFxVersion": {
      "type": "string",
      "defaultValue": "php|7.0",
      "metadata": {
        "description": "The Runtime stack of current web app"
      }
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
    "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2025-03-01",
      "name": "[parameters('appServicePlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "B1",
        "tier": "Basic",
        "size": "B1",
        "family": "B",
        "capacity": 1
      },
      "kind": "linux",
      "properties": {
        "perSiteScaling": false,
        "reserved": true,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2025-03-01",
      "name": "[variables('webAppPortalName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
      ],
      "kind": "app",
      "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
        "siteConfig": {
          "linuxFxVersion": "[parameters('linuxFxVersion')]"
        }
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Bu kaynakları dağıttığınızda maliyetleri izlemeniz ve bir kategoriye ait kaynakları bulmanız gerekebilir. Bu sorunları çözmeye yardımcı olmak için etiketler ekleyebilirsiniz.

Etiket ekleme

Kullanımlarını belirlemenize yardımcı olacak değerler eklemek için kaynakları etiketlersiniz. Ortamı ve projeyi listeleyen etiketler ekleyebilirsiniz. Ayrıca, bir maliyet merkezini veya kaynağın sahibi olan ekibi tanımlamak için bunları ekleyebilirsiniz. Kuruluşunuz için anlamlı olan tüm değerleri ekleyin.

Aşağıdaki örnekte şablondaki değişiklikler gösterilmektedir. Dosyanın tamamını kopyalayın ve şablonunuzu içeriğiyle değiştirin:

{
  "$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"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "appServicePlanName": {
      "type": "string",
      "defaultValue": "exampleplan"
    },
    "webAppName": {
      "type": "string",
      "metadata": {
        "description": "Base name of the resource such as web app name and app service plan "
      },
      "minLength": 2
    },
    "linuxFxVersion": {
      "type": "string",
      "defaultValue": "php|7.0",
      "metadata": {
        "description": "The Runtime stack of current web app"
      }
    },
    "resourceTags": {
      "type": "object",
      "defaultValue": {
        "Environment": "Dev",
        "Project": "Tutorial"
      }
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
    "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "tags": "[parameters('resourceTags')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2025-03-01",
      "name": "[parameters('appServicePlanName')]",
      "location": "[parameters('location')]",
      "tags": "[parameters('resourceTags')]",
      "sku": {
        "name": "B1",
        "tier": "Basic",
        "size": "B1",
        "family": "B",
        "capacity": 1
      },
      "kind": "linux",
      "properties": {
        "perSiteScaling": false,
        "reserved": true,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2025-03-01",
      "name": "[variables('webAppPortalName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[parameters('appServicePlanName')]"
      ],
      "tags": "[parameters('resourceTags')]",
      "kind": "app",
      "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
        "siteConfig": {
          "linuxFxVersion": "[parameters('linuxFxVersion')]"
        }
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Şablonu dağıt

Şablonu dağıtmanın ve sonuçlara bakmanın zamanı geldi.

Kaynak grubunu oluşturmadıysanız bkz. Kaynak grubu oluşturma. Örnekte, templateFile gösterildiği gibi şablon dosyasının yoluna ayarladığınız varsayılır.

New-AzResourceGroupDeployment `
  -Name addtags `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS `
  -webAppName demoapp

Uyarı

Dağıtım başarısız olursa, oluşturduğunuz kaynaklar hakkında bilgi almak için verbose anahtarını kullanın. debug Hata ayıklama hakkında daha fazla bilgi edinmek için anahtarını kullanın.

Dağıtımı doğrulayın

Azure portalından kaynak grubunu keşfederek dağıtımı doğrulayabilirsiniz.

  1. Azure portalınaoturum açın.

  2. Soldaki menüden Kaynak grupları'nı seçin.

  3. Dağıtılan kaynak grubunu seçin.

  4. Depolama hesabı kaynağı gibi kaynaklardan birini seçin. Artık etiketlere sahip olduğunu görürsünüz.

    Depolama hesabı kaynağındaki etiketleri gösteren Azure portalının ekran görüntüsü.

Kaynakları temizle

Sonraki öğreticiye geçiyorsanız kaynak grubunu silmeniz gerekmez.

Şimdi durduruyorsanız kaynak grubunu silmek isteyebilirsiniz.

  1. Azure portalından soldaki menüden Kaynak grupları'nı seçin.
  2. Herhangi bir alan için filtre uygula... metin alanına kaynak grubu adını yazın.
  3. myResourceGroup'un yanındaki kutuyu işaretleyin ve myResourceGroup veya kaynak grubunuzun adını seçin.
  4. Üstteki menüden Kaynak grubunu sil'i seçin.

Sonraki Adımlar

Bu öğreticide, kaynaklara etiketler eklersiniz. Sonraki öğreticide, değerleri şablona geçirmeyi basitleştirmek için parametre dosyalarını kullanmayı öğreneceksiniz.