Поделиться через


Пример скрипта Azure CLI— создание приложения логики

Область применения: Azure Logic Apps (потребление)

Этот скрипт создает пример приложения логики с помощью расширения Azure CLI Logic Apps (az logic). Подробное руководство по созданию приложений логики и управлению ими с помощью Azure CLI см. в кратком руководстве по Logic Apps для Azure CLI.

Предупреждение

Расширение Azure CLI Logic Apps в настоящее время экспериментальное, на него не предоставляется клиентская поддержка. Используйте это расширение CLI с осторожностью, особенно в рабочих средах.

Предпосылки

Проверка предварительных условий

Перед началом работы проверьте среду, выполнив следующие действия.

Описание примера рабочего процесса

В этом примере файл определения рабочего процесса создает тот же базовый пример рабочего процесса приложения логики потребления, что и в кратком руководстве для портала Azure.

Этот пример рабочего процесса:

  1. Задает схему $schemaдля приложения логики.

  2. Определяет триггер для приложения логики в списке триггеров. triggers Триггер рекурсирует (recurrence) каждые 3 часа. Действия активируются при публикации нового элемента веб-канала (When_a_feed_item_is_published) для указанного RSS-канала (feedUrl).

  3. Определяет действие для приложения логики в списке действий. actions Действие отправляет сообщение электронной почты (Send_an_email_(V2)) через Microsoft 365 с подробными сведениями из элементов веб-канала RSS, как указано в разделе текста (body) входных данных действия (inputs).

Пример определения рабочего процесса

Перед запуском примера скрипта необходимо сначала создать образец определения рабочего процесса.

  1. Создайте JSON-файл testDefinition.json на компьютере.

  2. Скопируйте следующее содержимое в 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": "[email protected]"
                        },
                        "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"
                    }
                }
            }
        }
    }
    
    
  3. Обновите значения заполнителей собственными сведениями:

    1. Замените адрес электронной почты заполнителя ("To": "[email protected]"). Необходимо использовать адрес электронной почты, совместимый с соединителями Logic Apps. Дополнительные сведения см. в разделе Необходимые условия.

    2. Замените дополнительные сведения о соединителе, если вы используете другой соединитель электронной почты, чем соединитель Office 365 Outlook.

    3. Замените значения заполнителей подписки (00000000-0000-0000-0000-000000000000) для идентификаторов подключения (connectionId и id) в параметре подключений ($connections) собственными значениями подписки.

  4. Сохраните ваши изменения.

Пример скрипта

Замечание

Этот пример написан для оболочки bash . Если вы хотите запустить этот пример в другой оболочке, например Windows PowerShell или командной строке, может потребоваться внести изменения в скрипт.

Перед запуском этого примера скрипта выполните следующую команду, чтобы подключиться к 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

Объяснение скрипта

В этом примере скрипта используются следующие команды для создания новой группы ресурсов и приложения логики.

командование Примечания.
az group create Создает группу ресурсов, в которой хранятся ресурсы приложения логики.
az logic workflow create Создает приложение логики на основе рабочего процесса, определенного в параметре --definition.
az group delete Удаляет группу ресурсов и все её вложенные ресурсы.

Дальнейшие шаги

Дополнительные сведения об Azure CLI см. в документации по Azure CLI.

Дополнительные примеры скриптов CLI Logic Apps можно найти в браузере примеров кода Майкрософт.