Alıştırma - Yinelemeyi azaltmak için copy öğesini kullanma
Bu son alıştırmada depolama hesaplarıyla çalışmaya devam edeceksiniz. Bu kez copy
yapısını kullanarak tek bir tanımdan birden çok depolama hesabı sağlayacaksınız.
Copy
yapısı, tek ve merkezi bir konum sunduğundan gereksinimleriniz değiştiğinde yalnızca tek bir noktayı güncelleştirmeniz yeterli olur.
ARM şablonunu oluşturma
Bu aşamada depolama hesabı kaynağını tanımlayan bir Azure Resource Manager (ARM) şablonu oluşturacaksınız. Şablonda aynı kaynaktan belirtilen sayıda kopya oluşturmak için copy
yapısını kullanacaksınız.
Visual Studio Code'da azuredeploy.json dosyasının bulunduğu dizinde copy.json adlı bir dosya oluşturun.
Aşağıdaki içeriği copy.json dosyasına ekleyin:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageCount": { "type": "int", "defaultValue": 1, "metadata": { "description": "the number of storage accounts copies being deployed" } }, "storageAccountName": { "type": "string", "defaultValue": "storage", "metadata": { "description": "the name of the storage account" } } }, "functions": [], "variables": {}, "resources": [ { "name": "[concat(parameters('storageAccountName'), copyIndex())]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS", "tier": "Premium" }, "copy": { "name": "storagecopy", "count": "[parameters('storageCount')]" } } ], "outputs": {} }
storageCount
parametresi oluşturulacak kopya sayısını belirler.
resources
bölümünde belirtilen depolama hesabı kaynağına dikkat edin. Depolama hesabı adının benzersiz olması için şablonda copyIndex()
ile depolama hesabı adının sonuna geçerli dizin eklenmektedir.
copy
bölümü, oluşturulacak kopya sayısını storageCount
parametresinden alır.
Şablonu dağıtma
Bu adımda daha önce yaptığınız gibi şablonu dağıtacaksınız. Dağıtım adımında iki benzer depolama hesabı sağlanır.
Depolama hesabı adını tutan bir PowerShell değişkeni oluşturun.
$STORAGE_ACCT_NAME="tailwindsa" + (Get-Random -Count 1)
Şablonu dağıtmak için aşağıdaki
New-AzResourceGroupDeployment
komutunu çalıştırın:New-AzResourceGroupDeployment ` -TemplateFile "./copy.json" ` -storageAccountName $STORAGE_ACCT_NAME ` -storageCount 2
Burada iki depolama hesabı sağlamak için
storageCount
değerini2
olarak ayarlayacaksınız.
Dağıtımı doğrulama
Çıkışta iki depolama hesabının oluşturulduğu gösterilse de burada Get-AzResource
komutunu çalıştırarak çıkış kaynaklarına odaklanacaksınız.
Kaynakların dağıtıldığından emin olmak için aşağıdaki Get-AzResource
komutunu çalıştırın:
Get-AzResource -Name tailwindsa* -ResourceGroupName <rgn>resource group name</rgn> | Select-Object -Property Name,ResourceId
tailwindsa*
bağımsız değişkeni, yalnızca kaynaklara verdiğiniz ad ön ekiyle eşleşen tanımlayıcıların gösterilmesini sağlar.
Çıkışınız aşağıdakine benzer:
Name ResourceId
---- ----------
tailwindsa1852777810 /subscriptions/11112222-3333-4444-5555-1111222233334444/resourceGroups/<rgn>resoure group</rgn>/providers/Microsoft.Storage/storageAccount…
tailwindsa1852777811 /subscriptions/11112222-3333-4444-5555-1111222233334444/resourceGroups/<rgn>resoure group</rgn>/providers/Microsoft.Storage/storageAccount…
Bu örnekte:
- tailwindsa185277781 (
"tailwindsa" + Get-Random -Count 1
), depolama hesabı için oluşturulan temel addır. - tailwindsa1852777810 (temel ad artı "0"), ilk depolama hesabıdır.
- tailwindsa1852777811 (temel ad artı "1"), ilk depolama hesabıdır.
Tebrikler! Performans katmanı gibi gereksinimleriniz değiştikçe kaynak tanımlarınızı tek bir noktadan değiştirebilirsiniz.
Temizleme
Bu modülle işiniz bittiğinde korumalı alan kaynaklarınızı otomatik olarak temizler.
Kendi aboneliğinizde çalışırken, projenin sonunda oluşturduğunuz kaynaklara hala ihtiyacınız olup olmadığını belirlemek iyi bir fikirdir. Çalışır durumda bıraktığınız kaynaklar size pahalıya mal olabilir. Kaynakları teker teker silebilir veya tüm kaynak grubunu silerek kaynak kümesinin tamamını kaldırabilirsiniz.
ARM şablonunu oluşturma
Bu aşamada depolama hesabı kaynağını tanımlayan bir Azure Resource Manager (ARM) şablonu oluşturacaksınız. Şablonda aynı kaynaktan belirtilen sayıda kopya oluşturmak için copy
yapısını kullanacaksınız.
Visual Studio Code'da azuredeploy.json dosyasının bulunduğu dizinde copy.json adlı bir dosya oluşturun.
Aşağıdaki içeriği copy.json dosyasına ekleyin:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageCount": { "type": "int", "defaultValue": 1, "metadata": { "description": "the number of storage accounts being deployed" } }, "storageAccountName": { "type": "string", "defaultValue": "storage", "metadata": { "description": "the name of the storage account" } } }, "functions": [], "variables": {}, "resources": [ { "name": "[concat(parameters('storageAccountName'), copyIndex())]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS", "tier": "Premium" }, "copy": { "name": "storagecopy", "count": "[parameters('storageCount')]" } } ], "outputs": {} }
storageCount
parametresi oluşturulacak kopya sayısını belirler.
resources
bölümünde belirtilen depolama hesabı kaynağına dikkat edin. Depolama hesabı adının benzersiz olması için şablonda copyIndex()
ile depolama hesabı adının sonuna geçerli dizin eklenmektedir.
copy
bölümü, oluşturulacak kopya sayısını storageCount
parametresinden alır.
Şablonu dağıtma
Bu adımda daha önce yaptığınız gibi şablonu dağıtacaksınız. Dağıtım adımında iki benzer depolama hesabı sağlanır.
Depolama hesabı adını tutan bir Bash değişkeni oluşturun.
STORAGE_ACCT_NAME=tailwindsa$RANDOM
Şablonu dağıtmak için aşağıdaki
az deployment group create
komutunu çalıştırın:az deployment group create \ --template-file copy.json \ --parameters storageAccountName=$STORAGE_ACCT_NAME storageCount=2
Burada iki depolama hesabı sağlamak için
storageCount
değerini2
olarak ayarlayacaksınız.
Dağıtımı doğrulama
Çıkışta iki depolama hesabının oluşturulduğu gösterilse de burada az deployment group show
komutunu çalıştırarak çıkış kaynaklarına odaklanacaksınız.
Dağıtımla ilgili ayrıntıları görüntülemek için aşağıdaki az deployment group show
komutunu çalıştırın:
az deployment group show \
--name copy \
--query "properties.outputResources[].id" \
--output tsv
--query
bağımsız değişkeni yalnızca çıkış kaynaklarındaki tanımlayıcıların gösterilmesini sağlar.
Çıkışınız aşağıdakine benzer:
/subscriptions/4b328dc1-56b1-4031-89b0-c0898204f8a5/resourceGroups/<rgn>resource group name</rgn>/providers/Microsoft.Storage/storageAccounts/tailwindsa9820
/subscriptions/4b328dc1-56b1-4031-89b0-c0898204f8a5/resourceGroups/<rgn>resource group name</rgn>/providers/Microsoft.Storage/storageAccounts/tailwindsa9821
Bu örnekte:
- tailwindsa982 (
tailwindsa$RANDOM
), depolama hesabı için oluşturulan temel addır. - tailwindsa9820 (temel ad artı "0"), ilk depolama hesabıdır.
- tailwindsa9821 (temel ad artı "1"), ikinci depolama hesabıdır.
Tebrikler! Performans katmanı gibi gereksinimleriniz değiştikçe kaynak tanımlarınızı tek bir noktadan değiştirebilirsiniz.
Temizleme
Bu modülle işiniz bittiğinde korumalı alan kaynaklarınızı otomatik olarak temizler.
Kendi aboneliğinizde çalışırken, projenin sonunda oluşturduğunuz kaynaklara hala ihtiyacınız olup olmadığını belirlemek iyi bir fikirdir. Çalışır durumda bıraktığınız kaynaklar size pahalıya mal olabilir. Kaynakları teker teker silebilir veya tüm kaynak grubunu silerek kaynak kümesinin tamamını kaldırabilirsiniz.