Alıştırma - Azure Resource Manager etiketlerini ve parametre dosyalarını kullanma
Bu alıştırmada, Microsoft Azure kaynaklarınızı düzenlemenize ve izlemenize yardımcı olacak etiketler eklersiniz. Ayrıca, her dağıtım için farklı parametre yapılandırmalarına olanak sağlamak için de Azure Resource Manager (ARM) şablonu parametre dosyası da kullanırsınız.
Bu alıştırmada Visual Studio Code için Azure Resource Manager Araçları kullanılmaktadır. Visual Studio Code’da bu uzantıyı yüklediğinizden emin olun.
Kaynak dağıtım ortamını ve projeyi izlemek için etiket oluşturma
İlk olarak şablonunuzda kaynak etiketi olarak kullanacağınız bir parametre oluşturacaksınız.
Visual Studio Code'daki azuredeploy.json dosyasında, imlecinizi parametrenin kapanış ayracından
storageSKU
sonra getirin. Virgül ekleyin ve Enter tuşuna basın.par yazın. İlgili kod parçacıklarının listesini görürsünüz.
arm-param seçeneğini belirleyin. Bu işlem sonucunda şablona genel bir parametre eklendiğini unutmayın. Şu koda benzer:
"parameter1": { "type": "string", "metadata": { "description": "description" }
parameter1
öğesini resourceTags olarak değiştirin ve"type":
değerini object yapın. Parametrelerin string, secureString, int, bool, object, secureObject ve array veri türlerine sahip olabileceğini unutmayın. Bu modülün özet bölümünde, bu parametre türlerinin örnek söz dizimlerini gösteren sayfaya bağlantı verilmiştir.defaultValue: adlı bir öznitelik ekleyin ve değerini {"Environment": "Dev", "Project": "Tutorial"}olarak ayarlayın.
Parametre bloğu şu kod gibi görünmelidir:
"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" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } },
Bu parametreyi kullanarak depolama hesabı kaynağınızı etiketleyin. Kaynak tanımındaki
tags:
özniteliğini değiştirin:"tags": "[parameters('resourceTags')]",
Dosyanız şu dosya gibi görünmelidir:
{ "$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" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": "[parameters('resourceTags')]", "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Dosyayı kaydedin.
Etiketlerini güncelleştirdiğiniz ARM şablonunu dağıtma
Güncelleştirdiğiniz ARM şablonunu Azure'a dağıtın. Daha önce kullandığınız
storagePrefix
değerini kullandığınızdan emin olun.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="updateTags-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-Prefix} storageSKU=Standard_LRS
Güncelleştirdiğiniz ARM şablonunu Azure'a dağıtın. Daha önce kullandığınız
storagePrefix
değerini kullandığınızdan emin olun.$templateFile = "azuredeploy.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="updateTags-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -storagePrefix {your storagePrefix} ` -storageSKU Standard_LRS
Yeni etiketlerin dağıtımda olduğunu doğrulama
Azure'da
[sandbox resource group name] kaynak grubunu ve ardından dağıtılan depolama hesabını seçin.Ortam : Geliştirme ve Proje : Öğretici etiketlerine dikkat edin:
Parametre dosyası kullanma
Şu anda bu şablonu her dağıttığınızda doldurmanız gereken üç parametre mevcut. Şablon kullanıcıları, parametre değerlerini içeren bir dosya oluşturabilir. Burada şablonunuzla birlikte kullanacağınız bir parametre dosyası oluşturacaksınız.
Visual Studio Code’da başka bir dosya oluşturun. Bu dosyaya azuredeploy.parameters.dev.json adını verin.
Bu dosyaya development ortamında şablona girilmesini istediğiniz şablon parametrelerinin değerlerini ekleyeceksiniz. Dağıtımın değişiklik yaptığını görmek için bir etiket değerini değiştirin. Örneğin,
projectName
öğesini Learn olarak değiştirebilirsiniz:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "storagePrefix": { "value": "{unique-prefix}" }, "storageSKU": { "value": "Standard_LRS" }, "resourceTags": { "value": { "Environment": "Dev", "Project": "Learn" } } } }
{unique-prefix}
öğesi yerine benzersiz ön ekinizi yazdığınızdan emin olun.Dosyayı kaydedin.
Parametre dosyasıyla şablonu dağıtma
Bu bölümde ARM şablonunu dağıtırken kullanılmasını istediğiniz parametre dosyasını belirteceksiniz.
Visual Studio Code terminalinde şu Azure CLI komutlarını çalıştırın:
templateFile="azuredeploy.json" devParameterFile="azuredeploy.parameters.dev.json" today=$(date +"%d-%b-%Y") DeploymentName="addParameterFile-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters $devParameterFile
Dağıtımın başarılı olup olmadığını ve etiket değerinin değiştirilip değiştirilmediğini görmek için Azure’a bakın:
Sınama olarak, üretim ortamı için bir parametre dosyası oluşturun. Üretim ortamına dağıtmak için komutunu çalıştırdığınızda parametre dosyası yolunu değiştirin.
Visual Studio Code terminalinde şu Azure PowerShell komutlarını çalıştırın:
$templateFile = "azuredeploy.json" $parameterFile="azuredeploy.parameters.dev.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="addParameterFile-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -TemplateParameterFile $parameterFile
Dağıtımın başarılı olup olmadığını ve etiket değerinin değiştirilip değiştirilmediğini görmek için Azure’a bakın:
Sınama olarak, üretim ortamı için bir parametre dosyası oluşturun. Üretim ortamına dağıtmak için komutunu çalıştırdığınızda parametre dosyası yolunu değiştirin.