Alıştırma - Azure Resource Manager değişkenlerini kullanarak ifadeleri depolama
Bu alıştırmada Azure depolama hesabı adı ifadenizi bir Azure Resource Manager (ARM) şablonu değişkeninde depolayacaksınız. Ardından, oluşturulacak depolama hesabının adını belirtmek için bu değişkeni kullanırsınız.
Bu alıştırmada Visual Studio Code için Azure Resource Manager Araçları'nı kullanacağız. Visual Studio Code’da bu uzantıyı yüklediğinizden emin olun.
Değişken ekleme
Depolama hesabı adı ifadenizi şablonda tek bir yerde depolamak için bir değişken ekleyin.
Visual Studio Code'daki azuredeploy.json dosyasında, imlecinizi değişkenler bloğundaki
"variables":{}
ayraçların arasına getirin ve Enter tuşuna basın.Ayraçların içine var yazın. İlgili kod parçacıklarının listesini görürsünüz. arm-variable öğesini seçin:
Değişkenler bölümünüz şu koda benzer:
"variables": {"variable1": "value"},
Değişkenin adını unique Depolama Name olarak değiştirin ve değerini "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" olarak değiştirin. Değişkenler bölümünüz şu koda benzer:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
İfadede değişmez değer yerine
storagePrefix
parametresini kullandığınıza dikkat edin. Aksi takdirde bu ifade, bir önceki ünitede incelediğiniz ifadenin aynısı olur.Değişkeni kaynaklar bölümünde kullanın.
name:
vedisplayName
özniteliklerinin değerini "[variables('uniqueStorageName')]" olarak değiştirinDosyanın tamamı şu örneğe benzer:
{ "$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" ] } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[variables('uniqueStorageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
İsterseniz şablonu dağıtabilirsiniz
Güncelleştirilmiş şablonda dağıttığınız kaynakta herhangi bir değişiklik olmadığından, bu şablonun dağıtılması Azure ortamınızda herhangi bir değişiklik yapmaz.
Şablonu dağıtarak başarılı olup olmadığını görmek isterseniz aşağıdaki Azure CLI komutlarını kullanın. Son dağıtımda kullandığınız storagePrefix
parametresi değerini kullandığınızdan emin olun.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Şablonu dağıtarak başarılı olup olmadığını görmek isterseniz aşağıdaki Azure PowerShell komutlarını kullanın. Son dağıtımda kullandığınız storagePrefix
parametresi değerini kullandığınızdan emin olun.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}