Aracılığıyla paylaş


Öğretici: ARM şablonlarıyla birden çok kaynak örneği oluşturma

Bir Azure kaynağının birden çok örneğini oluşturmak için Azure Resource Manager şablonunuzda (ARM şablonu) yinelemeyi öğrenin. Bu öğreticide, bir şablonu değiştirerek üç depolama hesabı örneği oluşturacaksınız.

Azure Resource Manager'ın birden çok örnek oluşturduğunu gösteren diyagram.

Bu öğretici aşağıdaki görevleri kapsar:

  • Hızlı başlangıç şablonunu açma
  • Şablonu düzenleme
  • Şablonu dağıtma

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Kaynak kopyalamayı kapsayan bir Microsoft Learn modülü için bkz . Gelişmiş ARM şablonu özelliklerini kullanarak karmaşık bulut dağıtımlarını yönetme.

Önkoşullar

Bu makaleyi tamamlamak için Visual Studio Code gerekir

Hızlı başlangıç şablonunu açma

Azure Hızlı Başlangıç Şablonları , ARM şablonları için bir depodur. Sıfırdan bir şablon oluşturmak yerine örnek bir şablon bulabilir ve bunu özelleştirebilirsiniz. Bu hızlı başlangıçta kullanılan şablon Standart depolama hesabı oluşturma olarak adlandırılır. Şablon, Azure Depolama hesabı kaynağını tanımlar.

  1. Visual Studio Code’dan Dosya>Dosya Aç’ı seçin.

  2. Dosya adı’na şu URL’yi yapıştırın:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Dosyayı açmak için ’ı seçin.

  4. Şablonda tanımlanmış bir Microsoft.Storage/storageAccounts kaynak vardır. Şablonu, şablon başvurusu ile karşılaştırın. Şablonu özelleştirmeden önce temel bilgilere ulaşmak yararlı olur.

  5. Dosyayı kaydetmek için Dosya Dosyayı yerel bilgisayarınıza azuredeploy.json olarak kaydedin.

Şablonu düzenleme

Var olan şablon, temel şifrelenmemiş depolama hesabı oluşturur. Şablonu özelleştirerek üç depolama hesabı oluşturacaksınız.

Visual Studio Code’dan aşağıdaki dört değişikliği yapın:

Birden çok örnek oluşturan Azure Resource Manager ile Visual Studio Code'un ekran görüntüsü.

  1. Depolama hesabı kaynak tanımına bir copy öğesi ekleyin. öğesinde copy yineleme sayısını ve bu döngü için bir değişken belirtin. Sayı değeri pozitif bir tamsayı olmalıdır ve 800’ü aşamaz.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. copyIndex() İşlevi, döngüde geçerli yinelemeyi döndürür. Ad ön eki olarak dizini kullanın. copyIndex() sıfır tabanlıdır. Dizin değerini dengelemek için işlevde copyIndex() bir değer geçirebilirsiniz. Örneğin, copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
  3. storageAccountName Artık kullanılmadığından parametre tanımını silin.

  4. outputs öğesini silin. Artık gerekli değil.

  5. metadata öğesini silin.

Tamamlanan şablon aşağıdaki gibi görünür:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GRS",
        "Standard_GZRS",
        "Standard_LRS",
        "Standard_RAGRS",
        "Standard_RAGZRS",
        "Standard_ZRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for the storage account."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "copy": {
        "name": "storageCopy",
        "count": 3
      },
      "properties": {}
    }
  ]
}

Değişiklikleri kaydedin.

Birden çok örnek oluşturma hakkında daha fazla bilgi için bkz . ARM şablonlarında kaynak yinelemesi

Şablonu dağıtma

  1. Azure Cloud Shell'de oturum açma

  2. Sol üst köşedeki PowerShell'i veya Bash'i (CLI için) seçerek tercih ettiğiniz ortamı seçin. Geçiş yaptığınızda kabuğun yeniden başlatılması gerekir.

    Azure portalı Cloud Shell karşıya yükleme dosyası

  3. Dosyaları karşıya yükle/indir'i seçin ve sonra da Karşıya Yükle'yi seçin. Önceki ekran görüntüsüne bakın. Önceki bölümde kaydettiğiniz dosyayı seçin. Dosyayı karşıya yükledikten sonra, dosyanın başarıyla karşıya yüklendiğini doğrulamak için komutunu ve ls komutunu kullanabilirsinizcat.

  4. Cloud Shell'den aşağıdaki komutları çalıştırın. PowerShell kodunu veya CLI kodunu gösteren sekmeyi seçin.

    echo "Enter a project name that is used to generate resource group name:" &&
    read projectName &&
    echo "Enter the location (i.e. centralus):" &&
    read location &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location "$location" &&
    az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
    

Başarılı bir şablon dağıtımından sonra, belirtilen kaynak grubunda oluşturulan üç depolama hesabını görüntüleyebilirsiniz. Depolama hesabı adlarını, şablondaki ad tanımıyla karşılaştırın.

echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Kaynakları temizleme

Artık Azure kaynakları gerekli değilse, kaynak grubunu silerek dağıttığınız kaynakları temizleyin.

  1. Azure portalda, sol menüden Kaynak grubu’nu seçin.
  2. Ada göre filtrele alanına kaynak grubu adını girin.
  3. Kaynak grubu adını seçin. Kaynak grubunda toplam üç kaynak görürsünüz.
  4. Üstteki menüden Kaynak grubunu sil’i seçin.

Sonraki adımlar

Bu öğreticide, birden çok depolama hesabı örneği oluşturmayı öğrendiniz. Bir sonraki öğreticide, birden fazla kaynağa ve birden çok kaynak türüne sahip bir şablon geliştireceksiniz. Bazı kaynakların bağımlı kaynakları vardır.