Упражнение. Развертывание базового рабочего процесса Azure Logic Apps с помощью шаблона ARM
В этом уроке мы развернем рабочий процесс в Azure Logic Apps с помощью шаблона Azure Resource Manager.
Создание ресурсов в Azure
Обычно сначала создается группа ресурсов для хранения всех объектов, которые еще необходимо создать. Группа ресурсов помогает администрировать все виртуальные машины, диски, сетевые интерфейсы и другие элементы, составляющие решение.
Группу ресурсов можно создать с помощью команды Azure CLI az group create
. Эта команда принимает параметр --name
, указывающий уникальное имя группы ресурсов в подписке. Команда также принимает параметр --location
, указывающий регион Azure по умолчанию для ресурсов.
Однако мы используем бесплатную среду песочницы Azure, поэтому создавать группу ресурсов не нужно. Вместо этого в данном упражнении можно использовать созданную ранее группу ресурсов
Скачивание и изучение базового шаблона Resource Manager
В верхней части окна Cloud Shell щелкните значок "Дополнительно" (...), а затем выберите "Параметры>перейти к классической версии".
В Cloud Shell выполните следующую
curl
команду, чтобы скачать шаблон из GitHub:curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-logic-apps-and-arm-templates/master/basic-template/template.json > basic-template.json
Чтобы просмотреть шаблон, откройте его в встроенном редакторе:
code basic-template.json
Определение рабочего процесса приложения логики, описанное в template.json , отображается в следующем списке:
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": [ { "type": "Microsoft.Logic/workflows", "apiVersion": "2017-07-01", "name": "HelloLogicAppsTemplate", "location": "westus2", "properties": { "state": "Enabled", "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "contentVersion": "1.0.0.0", "parameters": {}, "triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } }, "actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } }, "outputs": {} }, "parameters": {} } } ], "outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } } }
Как видно из предыдущего определения JSON и имени шаблона, этот рабочий процесс приложения логики является базовым. Давайте рассмотрим основные компоненты этого приложения.
Следующий фрагмент кода показывает нам, что приложение имеет название
HelloLogicAppsTemplate
. Имя жестко задано в шаблоне. Расположение, в котором выполняется приложение, также жестко задано:westus2
."name": "HelloLogicAppsTemplate", "location": "westus2",
Прокрутив страницу вниз до раздела triggers, мы видим, что рабочий процесс активируется HTTP-запросом GET. Триггер называется
manual
."triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } },
Далее в разделе действий мы узнаем, что этот рабочий процесс содержит один шаг или действие. Это действие выдает в ответ на запрос сообщение
Hello Azure Logic Apps Template!
."actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } },
В разделе outputs шаблона Resource Manager имеется единственный элемент выходных данных
logicAppUrl
. В этой выходной переменной указывается URL-адрес развернутого ресурса приложения логики. Этот URL-адрес упрощает тестирование приложения. В выходных данных используетсяlistCallbackURL
для создания URl-адреса, но имя рабочего процесса и имя триггера тут также жестко заданы."outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } }
А теперь давайте развернем и испытаем это приложение логики.
Проверка и развертывание шаблона
Для развертывания ресурса приложения логики мы используем команду az deployment group create
, так как развертывание происходит в группе ресурсов. При использовании этой команды вы можете выбрать развертывание удаленного шаблона, указав его местоположение с помощью параметра --template-uri
. В нашем случае необходимо развернуть шаблон локально, поэтому мы установим параметр --template-file
.
В Cloud Shell выполните проверку
az deployment group validate
шаблона:az deployment group validate \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --template-file basic-template.json
В аргументе
--template-file
указывается локальный шаблон. Имя файла шаблона — basic template.json.Вы увидите большой блок JSON в виде выходных данных, который сообщает вам, что шаблон прошел проверку.
Azure Resource Manager заполняет параметры шаблона и проверяет, будет ли шаблон выполнен успешно в вашей подписке.
Если проверка завершилась ошибкой, вы увидите подробное описание сбоя в выходных данных.
Выполните следующую
az deployment group create
команду в Cloud Shell, чтобы развернуть ресурс приложения логики, определенный нашим базовым шаблоном, в группе ресурсов песочницы:az deployment group create \ --name MyDeployment \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --template-file basic-template.json
Эта команда похожа на предыдущую, но включает в себя аргумент
--name
, задающий имя развертывания.Выполнение этой команды занимает от двух до трех минут. После завершения развертывания вы увидите другой большой блок JSON в качестве выходных данных, описывающих развертывание. Результат JSON отображается
provisioningState
со значениемSucceeded
.
Проверка развертывания
Выполните проверку
az deployment group show
развертывания:az deployment group show \ --name MyDeployment \ --resource-group "<rgn>[sandbox resource group name]</rgn>"
Вы увидите тот же блок JSON, что и ранее. Эту команду можно выполнять каждый раз, когда вам нужно получить информацию о развертывании. Выходные данные имеют формат JSON, что упрощает их передачу в другие средства для отслеживания развертываний и использования облака.
Чтобы запустить приложение, найдите значение logicAppUrl в результате JSON. Выберите URL-адрес или скопируйте его и вставьте его в новое окно браузера. На странице отображается сообщение "Шаблон Hello Azure Logic Apps!" , как показано на следующем снимке экрана:
Поздравляем! Вы успешно развернули рабочий процесс приложения логики с помощью шаблона Azure Resource Manager.
Как было упомянуто в этом упражнении, базовый шаблон включает множество жестко заданных значений. Это делает шаблон менее гибкими, чем хотелось бы. Ситуацию можно улучшить с помощью параметров.