Пример скрипта Azure CLI. Создание приложения логики
Область применения: Azure Logic Apps (потребление)
Этот скрипт создает пример приложения логики с помощью расширения Logic Apps для Azure CLI (az logic
). Подробное руководство по созданию приложений логики и управлению ими через Azure CLI см. в кратком руководстве по работе с Logic Apps в Azure CLI.
Предупреждение
Расширение Azure CLI Logic Apps в настоящее время экспериментальное, на него не предоставляется клиентская поддержка. Используйте это расширение CLI с осторожностью, особенно в рабочих средах.
Предварительные требования
- Учетная запись Azure с активной подпиской. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
- Azure CLI, установленный на локальном компьютере.
- Расширение Logic Apps Azure CLI, установленное на компьютере. Чтобы установить это расширение, используйте следующую команду:
az extension add --name logic
- Определение рабочего процесса для приложения логики. Этот JSON-файл должен соответствовать схеме языка определения рабочих процессов.
- Подключение API к учетной записи электронной почты через поддерживаемый соединитель Azure Logic Apps в той же группе ресурсов, что и приложение логики. В этом примере используется соединитель Office 365 Outlook, но можно использовать и другие соединители, например Outlook.com.
Проверка предварительных условий
Перед началом работы проверьте среду, выполнив следующие действия.
Войдите на портал Azure и убедитесь, что ваша подписка активна, выполнив команду
az login
.Проверьте версию Azure CLI в терминале или в командном окне, выполнив команду
az --version
. Сведения о последней версии см. в заметках о выпуске.- Если у вас нет последней версии, обновите установку, следуя указаниям в руководстве по установке операционной системы или платформы.
Описание примера рабочего процесса
В этом примере файла определения рабочего процесса создается тот же базовый пример рабочего процесса приложения логики Потребление, что и в кратком руководстве по портал Azure.
Этот пример рабочего процесса выполняет следующее.
Определяет схему
$schema
для приложения логики.Определяет триггер для приложения логики в списке триггеров
triggers
. Этот триггер выполняется каждые 3 часа (recurrence
). Определенные действия активируются при публикации нового элемента (When_a_feed_item_is_published
) в указанном RSS-канале (feedUrl
).Определяет действие для приложения логики в списке действий
actions
. Это действие отправляет через Microsoft 365 сообщение электронной почты (Send_an_email_(V2)
) со сведениями из элементов RSS-канала в соответствии с определениями в разделе текста (body
) для входных данных действия (inputs
).
Пример определения рабочего процесса
Перед запуском примера скрипта необходимо создать пример определения рабочего процесса.
Создайте на локальном компьютере JSON-файл
testDefinition.json
.Скопируйте в этот JSON-файл следующее содержимое:
{ "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": { "Send_an_email_(V2)": { "inputs": { "body": { "Body": "<p>@{triggerBody()?['publishDate']}<br>\n@{triggerBody()?['title']}<br>\n@{triggerBody()?['primaryLink']}</p>", "Subject": "@triggerBody()?['title']", "To": "test@example.com" }, "host": { "connection": { "name": "@parameters('$connections')['office365']['connectionId']" } }, "method": "post", "path": "/v2/Mail" }, "runAfter": {}, "type": "ApiConnection" } }, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": { "$connections": { "defaultValue": {}, "type": "Object" } }, "triggers": { "When_a_feed_item_is_published": { "inputs": { "host": { "connection": { "name": "@parameters('$connections')['rss']['connectionId']" } }, "method": "get", "path": "/OnNewFeed", "queries": { "feedUrl": "https://www.pbs.org/now/rss.xml" } }, "recurrence": { "frequency": "Hour", "interval": 3 }, "splitOn": "@triggerBody()?['value']", "type": "ApiConnection" } } }, "parameters": { "$connections": { "value": { "office365": { "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365", "connectionName": "office365", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/office365" }, "rss": { "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss", "connectionName": "rss", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/rss" } } } } }
Замените значения заполнителей реальными данными:
Замените заполнитель адреса электронной почты (
"To": "test@example.com"
). Необходимо использовать адрес электронной почты, совместимый с соединителями Logic Apps. Дополнительные сведения см. в разделе Необходимые условия.Укажите дополнительные сведения о соединителе, если вы используете другой соединитель электронной почты, отличный от соединителя Office 365 Outlook.
Замените реальными значениями для вашей подписки заполнители (
00000000-0000-0000-0000-000000000000
) в параметрах идентификаторов подключения (connectionId
иid
) в разделе connections ($connections
).
Сохраните изменения.
Пример скрипта
Примечание
Этот пример написан для оболочки bash
. Если вы хотите выполнить этот пример в другой оболочке, например в PowerShell или в командной строке Windows, могут потребоваться некоторые изменения.
Перед запуском этого примера скрипта выполните следующую команду для подключения к Azure:
az login
Затем перейдите к каталогу, в котором вы создали определение рабочего процесса. Например, если JSON-файл определения рабочего процесса сохранен на рабочем столе локального компьютера, выполните:
cd ~/Desktop
Теперь запустите скрипт, который создаст приложение логики.
#!/bin/bash
# Create a resource group
az group create --name testResourceGroup --location westus
# Create your logic app
az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"
Очистка развертывания
Когда выполнение примера скрипта завершится, запустите следующую команду для удаления группы ресурсов со всеми вложенными ресурсами, включая приложение логики.
az group delete --name testResourceGroup --yes
Описание скрипта
Для создания группы ресурсов и приложения логики этот скрипт использует следующие команды.
Get-Help | Примечания |
---|---|
az group create |
Создает группу ресурсов, в которой хранятся ресурсы приложения логики. |
az logic workflow create |
Создает приложение логики на основе рабочего процесса, определенного в параметре --definition . |
az group delete |
Удаляет группу ресурсов и все вложенные ресурсы. |
Дальнейшие действия
Дополнительные сведения об Azure CLI см. в документации по Azure CLI.
Дополнительные примеры скриптов CLI для Logic Apps можно найти в браузере примеров кода Майкрософт.