Упражнение. Использование переменных Azure Resource Manager для хранения выражений
В этом упражнении вы сохраните выражение имени учетной записи хранения Azure в переменной шаблона Azure Resource Manager (ARM). Затем эта переменная используется для указания имени создаваемой учетной записи хранения.
В этом упражнении мы используем средства Azure Resource Manager для Visual Studio Code. Убедитесь, что это расширение установлено в Visual Studio Code.
Добавление переменной
Добавьте переменную для хранения выражения имени учетной записи хранения в одном месте в шаблоне.
В Visual Studio Code в файле azuredeploy.json поместите курсор между фигурными скобками в блоке
"variables":{}
переменных и нажмите клавишу ВВОД.Введите var внутри скобок. Появится список связанных фрагментов кода. Выберите arm-variable:
Раздел переменных выглядит следующим образом:
"variables": {"variable1": "value"},
Измените имя переменной на uniqueStorageName и измените значение на "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Раздел переменных выглядит следующим образом:
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
Обратите внимание, что вместо литеральной строки в выражении используется параметр
storagePrefix
. В остальном это то же самое выражение, которое вы изучили в предыдущем уроке.Используйте переменную в разделе ресурсов. Измените значения атрибутов
name:
иdisplayName
на "[variables('uniqueStorageName')]".Весь файл выглядит следующим образом:
{ "$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": {} }
Развертывание шаблона (необязательно)
Обновленный шаблон не имеет никаких изменений в развернутом ресурсе, поэтому развертывание этого шаблона не вносит никаких изменений в среду Azure.
Если вы хотите развернуть этот шаблон, используйте приведенные ниже команды Azure CLI. Не забудьте использовать то же значение параметра storagePrefix
, которое использовалось при последнем развертывании.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Если вы хотите развернуть этот шаблон, используйте приведенные ниже команды Azure PowerShell. Не забудьте использовать то же значение параметра storagePrefix
, которое использовалось при последнем развертывании.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}