Aracılığıyla paylaş


Öğretici: Azure Resource Manager şablonunuza şablon işlevleri ekleme

Bu öğreticide, Azure Resource Manager şablonunuza (ARM şablonu) şablon işlevleri eklemeyi öğreneceksiniz. Değerleri dinamik olarak oluşturmak için işlevleri kullanırsınız. Sistem tarafından sağlanan bu şablon işlevlerine ek olarak , kullanıcı tanımlı işlevler de oluşturabilirsiniz. Eğitimin tamamlanması 7 dakika sürer.

Önkoşullar

Parametrelerle ilgili öğreticiyi tamamlamanızı öneririz, ancak gerekli değildir.

Visual Studio Code ve Azure PowerShell veya Azure CLI'nız olması gerekir. Daha fazla bilgi için bkz. şablon araçları.

Şablonu gözden geçirme

Önceki öğreticinin sonunda şablonunuz aşağıdaki JSON dosyasına sahipti:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 24
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[parameters('storageName')]",
      "location": "eastus",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Azure depolama hesabının konumunu eastus olarak sabit kodladınız, ancak başka bir bölgeye dağıtmanız gerektiğini varsayalım. Şablonunuza esneklik eklemek ve farklı bir konuma sahip olmasına izin vermek için bir parametre eklemeniz gerekir.

İşlevi kullanma

Parametreler öğreticisini tamamladıysanız bir işlev kullandınız. "[parameters('storageName')]" eklediğinizde, parametreler işlevini kullandınız. Köşeli ayraçlar, köşeli ayraçların içindeki söz diziminin bir şablon ifadesi olduğunu gösterir. Resource Manager, söz dizimini sabit bir değer olarak işlemek yerine çözümler.

İşlevler, dağıtım sırasında değerleri dinamik olarak alarak şablonunuza esneklik sağlar. Bu öğreticide, kaynak grubu dağıtım konumunu almak için bir işlev kullanacaksınız.

Aşağıdaki örnekte adlı locationbir parametre eklemek için yapılan değişiklikler vurgulanır. Parametre varsayılan değeri resourceGroup işlevini çağırır. Bu işlev, dağıtılan kaynak grubu hakkında bilgi içeren bir nesne döndürür. Nesne özelliklerinden biri bir konum özelliğidir. Varsayılan değeri kullandığınızda, depolama hesabı ve kaynak grubu aynı konuma sahiptir. Bir grup içindeki kaynakların farklı konumları vardır.

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": {
    "storageName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 24
    },
    "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]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[parameters('storageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Şablonu dağıt

Önceki öğreticilerde Doğu ABD'de bir depolama hesabı oluşturdunuz, ancak kaynak grubunuz Orta ABD'de oluşturuldu. Bu öğretici için, kaynak grubuyla aynı bölgede bir depolama hesabı oluşturursunuz. Bu parametre değerini sağlamanız gerekmemesi için konum için varsayılan değeri kullanın. Farklı bir konumda depolama hesabı oluşturduğunuz için depolama hesabı için yeni bir ad sağlamanız gerekir. Örneğin , store1 yerine ön ek olarak store2 kullanın.

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 addlocationparameter `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storageName "{new-unique-name}"

Uyarı

Dağıtım başarısız olursa, oluşturulmakta olan 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. myResourceGroup öğesinin sol kısmındaki kutuyu işaretleyin ve myResourceGroup öğesini seçin.
  4. Oluşturduğunuz kaynak grubunu seçin. Varsayılan ad myResourceGroup'tır.
  5. Dağıtılan depolama hesabınızın ve kaynak grubunuzun aynı konuma sahip olduğunu fark edin.

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, bir parametrenin varsayılan değerini tanımlamak için bir işlev kullanacaksınız. Bu öğretici serisinde işlevleri kullanmaya devam edebilirsiniz. Serinin sonunda, her şablon bölümüne işlevler eklersiniz.