Öğ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.
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 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 gerekenler:
- Visual Studio Code ve Resource Manager Araçları uzantısı. Bkz. Hızlı Başlangıç: Visual Studio Code ile ARM şablonları oluşturma.
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.
Visual Studio Code DosyaAç'ıseçin>.
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
Dosyayı açmak için Aç’ı seçin.
Ş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.Dosyayı yerel bilgisayarınıza azuredeploy.json olarak kaydetmek için Dosya>Farklı Kaydet'i seçin.
Ş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:
Depolama hesabı kaynak tanımına bir
copy
öğesi ekleyin. öğesindecopy
, yineleme sayısını ve bu döngü için bir değişken belirtirsiniz. Sayı değeri pozitif bir tamsayı olmalıdır ve 800’ü aşamaz."copy": { "name": "storageCopy", "count": 3 },
copyIndex()
İşlevi, döngüde geçerli yinelemeyi döndürür. Dizini ad ön eki olarak kullanırsınız.copyIndex()
sıfır tabanlıdır. Dizin değerini kaydırmak için işlevdecopyIndex()
bir değer geçirebilirsiniz. Örneğin,copyIndex(1)
."name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
storageAccountName
Artık kullanılmadığından parametre tanımını silin.outputs
öğesini silin. Artık gerekli değil.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": "2021-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
Azure Cloud Shell oturum açma
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.
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
cat
komutunu kullanabilirsinizls
.Cloud Shell 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.
- Azure portal soldaki menüden Kaynak grubu'na tıklayın.
- Ada göre filtrele alanına kaynak grubu adını girin.
- Kaynak grubu adını seçin. Kaynak grubunda toplam üç kaynak görürsünüz.
- Ü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.