Упражнение. Использование тегов и файлов параметров Azure Resource Manager
В этом упражнении вы добавите теги, которые помогут упорядочивать и отслеживать ресурсы Microsoft Azure. Вы также используете файл параметров шаблона Azure Resource Manager (ARM), чтобы разрешить различные конфигурации параметров для каждого развертывания.
В этом упражнении используются инструменты Azure Resource Manager для Visual Studio Code. Убедитесь, что это расширение установлено в Visual Studio Code.
Создание тега для отслеживания среды развертывания ресурса и проекта
Сначала создайте параметр, который будет использоваться в качестве тега ресурса в шаблоне.
В файле azuredeploy.json в Visual Studio Code поместите курсор после закрывающей скобки параметра
storageSKU
. Добавьте запятую и нажмите клавишу ВВОД.Введите par. Появится список связанных фрагментов кода.
Выберите arm-param. Помните, что при этом в шаблон добавляется универсальный параметр. Этот код выглядит следующим образом:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Замените
parameter1
на resourceTags и измените значение"type":
на object. Помните, что параметры могут быть следующими: string, secureString, int, bool, Object, secureObject и типами данных массива. Ссылка на пример синтаксиса для этих типов параметров приведена в сводке по этому модулю.Добавьте атрибут с именем defaultValue: и задайте для параметра {"Environment": "Dev", "Project": "Tutorial"}.
Блок параметров должен выглядеть следующим образом:
"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" } } },
Используйте этот параметр, чтобы отметить тегом ресурс учетной записи хранения. Измените атрибут
tags:
в определении ресурса:"tags": "[parameters('resourceTags')]",
Файл должен выглядеть следующим образом:
{ "$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": {} }
Сохраните файл.
Развертывание шаблона ARM с обновленными тегами
Разверните обновленный шаблон ARM в Azure. Не забудьте использовать тот же
storagePrefix
, который использовался ранее.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
Разверните обновленный шаблон ARM в Azure. Не забудьте использовать тот же
storagePrefix
, который использовался ранее.$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
Убедитесь, что новые теги находятся в развертывании.
Выберите в Azure группу ресурсов
[имя группы ресурсов песочницы] , а затем развернутую учетную запись хранения.Обратите внимание на среду: разработка и проект: теги учебников :
Использование файла параметров
В настоящее время каждый раз при развертывании этого шаблона нужно заполнить три параметра. Каждый пользователь шаблона может создать файл для хранения значений параметров. Здесь вы создадите файл параметров для использования с шаблоном.
В Visual Studio Code создайте другой файл. Присвойте ему имя azuredeploy.parameters.dev.json.
В этом файле вы добавите значения для параметров шаблона, которые хотите ввести в шаблон для среды разработки. Измените значение тега, и в развертывании отразятся изменения. Например, можно изменить
projectName
на Learn:{ "$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}
уникальным префиксом.Сохраните файл.
Развертывание шаблона с помощью файла параметров
В этом разделе вы развернете шаблон ARM, указывающий, какой файл параметров следует использовать.
В окне терминала Visual Studio Code выполните следующие команды Azure CLI:
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
Проверьте в Azure, что развертывание прошло успешно и что значение тега изменилось:
Попробуйте поэкспериментировать и создать файл параметров для рабочей среды. Измените путь к файлу параметров при выполнении команды для развертывания в рабочей среде.
В окне терминала Visual Studio Code выполните следующие команды Azure PowerShell:
$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
Проверьте в Azure, что развертывание прошло успешно и что значение тега изменилось:
Попробуйте поэкспериментировать и создать файл параметров для рабочей среды. Измените путь к файлу параметров при выполнении команды для развертывания в рабочей среде.