Подписка и ожидание выполнения рабочих процессов с помощью веб-перехватчиков HTTP в Azure Logic Apps

Область применения: Azure Logic Apps (Потребление + Стандартный)

Вместо того, чтобы использовать триггер, который регулярно проверка или опрашивает конечную точку службы или действие, вызывающее эту конечную точку, можно использовать триггер веб-перехватчика HTTP, который подписывается на конечную точку службы, ожидает определенных событий и выполняет определенные действия в рабочем процессе.

Ниже приведены примеры рабочих процессов на основе веб-перехватчиков:

  • Дождитесь прибытия события из Центры событий Azure перед запуском рабочего процесса.
  • Ожидание утверждения, прежде чем продолжить рабочий процесс.

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

Принцип работы веб-перехватчика

Триггер веб-перехватчика основан на событиях, который не зависит от проверка или регулярного опроса для новых данных или событий. После добавления триггера веб-перехватчика в пустой рабочий процесс и сохранения рабочего процесса или после повторного включения отключенного ресурса приложения логики триггер веб-перехватчик подписывается на указанную конечную точку службы, регистрируя URL-адрес обратного вызова в этой конечной точке. Затем триггер ожидает вызова этой конечной точки службы URL-адреса, который запускает триггер и запускает рабочий процесс. Как и триггер запроса, триггер веб-перехватчика немедленно запускается. Триггер веб-перехватчика также остается подпиской на конечную точку службы, если вы не выполните следующие действия вручную:

  • Измените значения параметров триггера.
  • Удалите триггер и сохраните рабочий процесс.
  • Отключите ресурс приложения логики.

Как и триггер веб-перехватчика, действие веб-перехватчика также основано на событиях. После добавления действия веб-перехватчика в существующий рабочий процесс и сохранения рабочего процесса или после повторного включения отключенного ресурса приложения логики действие веб-перехватчика подписывается на указанную конечную точку службы, регистрируя URL-адрес обратного вызова в этой конечной точке. При запуске рабочего процесса действие веб-перехватчика приостанавливает рабочий процесс и ожидает, пока конечная точка службы не вызовет URL-адрес, прежде чем рабочий процесс возобновляется. Действие веб-перехватчика отменяет подписку из конечной точки службы при возникновении следующих условий:

  • Действие веб-перехватчика успешно завершается.
  • Выполнение рабочего процесса отменено во время ожидания ответа.
  • До истечения времени ожидания рабочего процесса.
  • Вы изменяете значения параметров действия веб-перехватчика, которые используются в качестве входных данных триггером веб-перехватчика.

Примером действия веб-перехватчика, которое следует этому шаблону, является действие Отправка сообщения электронной почты с утверждением соединителя Office 365 Outlook. С помощью действия веб-перехватчика этот шаблон можно расширить в любую службу.

Дополнительные сведения см. в следующей документации:

Сведения о шифровании, безопасности и авторизации для входящих вызовов в приложение логики, таких как TLS, ранее известный как Secure Sockets Layer (SSL) или Open Authentication (Microsoft Entra ID OAuth), см. в статье "Безопасный доступ и данные- Доступ для входящих вызовов триггеров на основе запросов".

технический справочник по Подключение or

Дополнительные сведения о параметрах триггера и действия см. в параметрах веб-перехватчика HTTP.

Необходимые компоненты

Добавление веб-перехватчика HTTP

Этот встроенный триггер вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова в целевой службе. Затем рабочий процесс ожидает отправки HTTP POST запроса в URL-адрес обратного вызова. Когда происходит это событие, триггер срабатывает и передает все данные в запросе в рабочий процесс.

  1. В портал Azure откройте приложение логики "Стандартный" и пустой рабочий процесс в конструкторе.

  2. Выполните следующие общие действия, чтобы добавить триггер с именем HTTP Webhook в рабочий процесс.

    В этом примере триггер переименовывается в триггер веб-перехватчика HTTP, чтобы шаг получил более описательное имя. Кроме того, далее в примере добавляется действие веб-перехватчика HTTP, и оба имени должны быть уникальными.

  3. Укажите значения параметров триггера для веб-перехватчика HTTP, которые будут использованы для вызовов подписки и отмены подписки.

    Свойство Обязательное поле Описание
    Подписка: метод Да Метод, используемый для подписки на целевую конечную точку
    Подписка: URI Да URL-адрес, используемый для подписки на целевую конечную точку
    Подписка: текст No Текст сообщения, включаемый в запрос подписки. Этот пример включает URL-адрес обратного вызова, который используется для идентификации подписчика (т. е. вашего приложения логики) с помощью выражения @listCallbackUrl() для получения URL-адреса обратного вызова приложения логики.
    Отмена подписки: метод No Метод, используемый для отмены подписки на целевую конечную точку.
    Отмена подписки: URI No URL-адрес, используемый для отмены подписки из целевой конечной точки.
    Отмена подписки: текст No Необязательный текст сообщения для включения в запрос отмены подписки

    Примечание. Это свойство не поддерживает использование функции listCallbackUrl(). Однако триггер автоматически добавляет и отправляет заголовки x-ms-client-tracking-id и x-ms-workflow-operation-name, которые целевая служба может использовать для идентификации подписчика.

    Примечание.

    Чтобы отменить подписку — метод и отменить подписку — свойства URI, добавьте их в действие, открыв список дополнительных параметров.

    Например, следующий триггер включает методы, URI и тела сообщений, используемые при выполнении операций подписки и отмены подписки.

    Screenshot shows Standard workflow with HTTP Webhook trigger parameters.

    Если необходимо использовать проверку подлинности, вы можете добавить свойства подписки — проверка подлинности и отмена подписки. Дополнительные сведения о типах проверки подлинности, доступных для веб-перехватчика HTTP, см. в разделе Добавление проверки подлинности в исходящие вызовы.

  4. Продолжайте создавать рабочий процесс с действиями, которые выполняются при срабатывании триггера.

  5. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

Сохранение рабочего процесса вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова. Затем рабочий процесс ожидает отправки HTTP POST запроса в URL-адрес обратного вызова. Когда происходит это событие, триггер срабатывает и передает все данные в запросе в рабочий процесс. Если эта операция завершится успешно, триггер отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.

Добавление действия веб-перехватчика HTTP

Этот встроенное действие вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова в целевой службе. Затем рабочий процесс приостанавливает и ожидает отправки HTTP POST запроса на URL-адрес обратного вызова. Когда происходит это событие, действие передает все данные в запросе в рабочий процесс. Если операция завершится успешно, действие отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.

В этом примере триггер веб-перехватчика HTTP используется в качестве первого шага.

  1. В портал Azure откройте приложение логики "Стандартный" и рабочий процесс в конструкторе.

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

    В этом примере действие переименовывается в действие веб-перехватчика HTTP, чтобы шаг получил более описательное имя.

  3. Укажите значения параметров триггера для веб-перехватчика HTTP, которые будут использованы для вызовов подписки и отмены подписки. Они аналогичны параметрам триггера веб-перехватчика HTTP.

    Свойство Обязательное поле Описание
    Подписка: метод Да Метод, используемый для подписки на целевую конечную точку
    Подписка: URI Да URL-адрес, используемый для подписки на целевую конечную точку
    Подписка: текст No Текст сообщения, включаемый в запрос подписки. Этот пример включает URL-адрес обратного вызова, который используется для идентификации подписчика (т. е. вашего приложения логики) с помощью выражения @listCallbackUrl() для получения URL-адреса обратного вызова приложения логики.
    Отмена подписки: метод No Метод, используемый для отмены подписки на целевую конечную точку.
    Отмена подписки: URI No URL-адрес, используемый для отмены подписки из целевой конечной точки.
    Отмена подписки: текст No Необязательный текст сообщения для включения в запрос отмены подписки

    Примечание. Это свойство не поддерживает использование функции listCallbackUrl(). Однако действие автоматически добавляет и отправляет заголовки x-ms-client-tracking-id и x-ms-workflow-operation-name, которые целевая служба может использовать для идентификации подписчика.

    Примечание.

    Чтобы отменить подписку — метод и отменить подписку — свойства URI, добавьте их в действие, открыв список дополнительных параметров.

    Например, следующее действие включает методы, URI и тела сообщений, используемые при выполнении операций подписки и отмены подписки.

    Screenshot shows Standard workflow with HTTP Webhook action parameters.

  4. Чтобы добавить другие свойства действия, откройте список дополнительных параметров .

    Например, если необходимо использовать проверку подлинности, можно добавить свойства Подписка: аутентификация и Отмена подписки: аутентификация. Дополнительные сведения о типах проверки подлинности, доступных для веб-перехватчика HTTP, см. в разделе Добавление проверки подлинности в исходящие вызовы.

  5. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

При выполнении этого действия рабочий процесс вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова. Затем рабочий процесс приостанавливает и ожидает отправки HTTP POST запроса на URL-адрес обратного вызова. Когда происходит это событие, действие передает все данные в запросе в рабочий процесс. Если операция завершится успешно, действие отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.

Выходные данные триггеров и действий

Ниже приведены дополнительные сведения о выходных данных триггера или действия веб-перехватчика HTTP:

Имя свойства Type Описание
заголовки объект Заголовки из запроса
текст объект Объект с содержимым текста из запроса
Код состояния INT Код состояния из запроса
Код состояния Description
200 OK
202 Accepted
400 Недопустимый запрос
401 Не авторизовано
403 Запрещено
404 Не найдено
500 Внутренняя ошибка сервера. Произошла неизвестная ошибка.

Следующие шаги