Упражнение. Использование функций Azure Resource Manager для создания выражений
Примечание.
Когда вы в первый раз активируете песочницу и принимаете условия, ваша учетная запись Майкрософт связывается с новым каталогом Azure с именем Microsoft Learn Sandbox. Вы будете добавлены в специальную подписку с именем "Подписка Concierge".
В этом упражнении вы создадите выражение с помощью функций шаблона Azure Resource Manager (ARM). Выражение создает уникальное имя для каждой группы ресурсов, объединяя входные префиксы с хэш-кодом идентификатора группы ресурсов. В результате имена учетных записей хранения Azure выглядят как dev2hu6sbtr5
или staging5his8hgr67
.
В этом упражнении вы используете средства Azure Resource Manager для Visual Studio Code. Убедитесь, что это расширение установлено в Visual Studio Code.
Создание файла шаблона ARM
В предыдущем модуле вы создали шаблон Azure Resource Manager, который развернул учетную запись хранения. В этот файл были добавлены параметры и выходные данные. Здесь вы начинаете с этого файла, но выходные данные удаляются для уменьшения затрат.
Откройте Visual Studio Code и создайте файл с именем azuredeploy.json. Если у вас есть этот файл из предыдущего модуля, можно использовать его.
Замените содержимое файла следующим кодом:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageName": { "type": "string", "minLength": 3, "maxLength": 24 }, "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": {}, "resources": [{ "name": "[parameters('storageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[parameters('storageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Если вы не завершили работу с предыдущим модулем, уделите несколько минут просмотру этого файла. Обратите внимание на параметр
storageName
. Этот параметр использовался для передачи уникального имени учетной записи хранения.
Создание выражения для задания уникального имени учетной записи хранения
Вместо передачи имени учетной записи хранения измените параметр, чтобы использовать префикс имени учетной записи хранения. Этот параметр передается concat
функции в выражении.
В разделе
parameters
изменитеstorageName
на storagePrefix.Измените значение атрибута
maxLength:
параметраstoragePrefix
на 11. Максимальная длина имени учетной записи хранения составляет 24 символа, поэтому необходимо убедиться, что добавленный хэш из создаваемой функции не приводит к тому, что имя будет длиннее 24.Создайте выражение, чтобы задать уникальное имя учетной записи хранения. В разделе
resources
измените значения атрибутовname:
иdisplayName:
с"[parameters('storageName')]"
на "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Это выражение вы изучили в предыдущем уроке. Файл должен выглядеть примерно так:{ "$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": {}, "resources": [{ "name": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Развертывание шаблона ARM в Azure
Чтобы развернуть этот шаблон в Azure, необходимо войти в свою учетную запись Azure из терминала Visual Studio Code. Убедитесь, что на компьютере установлены средства Azure CLI. Кроме того, обязательно войдите в ту же учетную запись, которая активировала песочницу.
Откройте окно терминала с помощью меню Терминал.
Если в раскрывающемся списке с правой стороны окна терминала указано bash, значит, выбрана правильная оболочка для работы. Вы можете перейти к следующему разделу.
Если у вас нет правильной оболочки, выберите команду "Оболочка по умолчанию " в раскрывающемся меню.
Выберите bash:
В терминале нажмите +, чтобы создать новый терминал с bash в качестве оболочки.
Вход в Azure
В окне терминала Visual Studio Code выполните следующую команду, чтобы войти в Azure. При выполнении этой команды откроется браузер, позволяющий войти в учетную запись:
az login
После входа в окне терминала появится список подписок, связанных с этой учетной записью. Если вы активировали песочницу, одна из подписок будет называться Подписка Concierge. Именно ее вы будете использовать в оставшейся части упражнения.
Задайте эту подписку по умолчанию для всех команд Azure CLI, выполняемых в этом сеансе:
az account set --subscription "Concierge Subscription"
Примечание.
Если в последнее время вы использовали несколько песочниц, то в списке будет отображаться несколько подписок Concierge. В таком случае для установки подписки по умолчанию выполните следующие два шага. Если приведенная выше команда выполнена успешно, пропустите следующие два шага.
Получите идентификаторы подписок Concierge:
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Задайте подписку по умолчанию, используя идентификатор подписки. Замените
{your subscription ID}
на самый последний идентификатор подписки Concierge.az account set --subscription {your subscription ID}
Установка группы ресурсов по умолчанию
Установите в качестве группы ресурсов по умолчанию группу ресурсов, созданную для вас в среде песочницы. Это позволит не указывать данный параметр в остальных командах Azure CLI в этом упражнении.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Развертывание шаблона в Azure
Вы узнали о командах развертывания в предыдущем модуле. Здесь мы используем команду az deployment group create
Azure CLI.
Разверните шаблон с помощью команд Azure CLI в терминале Visual Studio Code. Не забудьте заменить
{your-prefix}
другой строкой. Например, можно использовать слово storage.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="addfunction-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-prefix}
В первом разделе этого кода задайте переменные Azure CLI для пути к развертываемому файлу шаблона и имени этого развертывания. Затем с помощью команды
az deployment group create
разверните этот шаблон в Azure.В терминале должно появиться сообщение
Running...
.
Чтобы развернуть этот шаблон в Azure, необходимо войти в свою учетную запись Azure из терминала Visual Studio Code. Убедитесь, что на компьютере установлены инструменты Azure PowerShell и что вы входите в ту же учетную запись, которая использовалась для активации песочницы.
Откройте окно терминала с помощью меню Терминал.
Если в раскрывающемся списке с правой стороны окна терминала указано pwsh, значит, выбрана правильная оболочка для работы. Вы можете перейти к следующему разделу.
Если у вас нет правильной оболочки, выберите команду "Оболочка по умолчанию " в раскрывающемся меню.
Выберите pwsh.
Выберите + в терминале, чтобы создать новый терминал с pwsh в качестве оболочки.
Вход в Azure с помощью Azure PowerShell
В окне терминала Visual Studio Code выполните следующую команду, чтобы войти в Azure. При выполнении этой команды вам будет предложено открыть браузер на URL-адрес, позволяющий войти в учетную запись. Используйте код из этого предложения. Войдите, используя ту же учетную запись, с помощью которой вы активировали песочницу.
Connect-AzAccount
После входа в окне терминала появится список подписок, связанных с этой учетной записью. Если вы активировали песочницу, одна из подписок будет называться Подписка Concierge. Именно ее вы будете использовать в оставшейся части упражнения.
Задайте эту подписку по умолчанию для всех команд Azure CLI, выполняемых в этом сеансе.
Получите идентификатор подписки. В команде перечислены подписки и их идентификаторы. Идентификатор подписки находится во втором столбце. Найдите
Concierge Subscription
и скопируйте второй столбец. Выглядит примерно так:aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
Get-AzSubscription
Измените свою активную подписку на подписку Concierge. Обязательно замените
{Your subscription ID}
скопированный идентификатор.$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Установите в качестве группы ресурсов по умолчанию группу ресурсов, созданную для вас в среде песочницы. Это позволит не указывать этот параметр в остальных командах Azure PowerShell в этом упражнении.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Развертывание шаблона в Azure
Вы узнали о командах развертывания в предыдущем модуле. Здесь мы используем команду New-AzResourceGroupDeployment
Azure PowerShell.
Разверните шаблон с помощью команд Azure PowerShell в терминале Visual Studio Code. Не забудьте заменить
{your-prefix}
другой строкой. Например, можно использовать слово storage.$templateFile = "azuredeploy.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="addfunction-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -storagePrefix {your-prefix}
В первом разделе этого кода задайте переменные Azure PowerShell для пути к развертываемому файлу шаблона и имени этого развертывания. Затем с помощью команды New-AzResourceGroupDeployment
разверните этот шаблон в Azure.
Проверка развертывания
Когда развертывание завершится, перейдите на портал Azure и убедитесь, что находитесь в подписке песочницы. Для проверки подписки щелкните свой аватар в правом верхнем углу страницы. Выберите Переключить каталог. В списке выберите каталог Песочница Microsoft Learn.
В области слева выберите Группы ресурсов.
Выберите "
[имя группы ресурсов песочницы] "В разделе Обзор вы увидите, что одно развертывание выполнено успешно:
Щелкните ссылку 1 успешное, чтобы просмотреть сведения об этом развертывании:
Выберите addfunction, чтобы увидеть, какие ресурсы были развернуты:
Оставьте страницу открытой в браузере, чтобы снова проверить развертывания в модуле.