Подписка и ожидание выполнения рабочих процессов с помощью веб-перехватчиков 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.
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас еще нет подписки Azure, зарегистрируйтесь для получения бесплатной учетной записи Azure.
URL-адрес уже развернутой конечной точки или API, поддерживающей подписку на веб-перехватчик и шаблон отмены подписки для триггеров веб-перехватчика в рабочих процессах или действиях веб-перехватчика в рабочих процессах соответствующим образом.
Рабочий процесс приложения логики "Стандартный" или "Потребление", в котором требуется ожидать определенных событий в целевой конечной точке. Чтобы начать с триггера веб-перехватчика HTTP, создайте приложение логики с пустым рабочим процессом. Чтобы использовать действие веб-перехватчика HTTP, запустите рабочий процесс с любым нужным триггером. В этом примере на первом шаге используется триггер HTTP.
Добавление веб-перехватчика HTTP
Этот встроенный триггер вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова в целевой службе. Затем рабочий процесс ожидает отправки HTTP POST
запроса в URL-адрес обратного вызова. Когда происходит это событие, триггер срабатывает и передает все данные в запросе в рабочий процесс.
В портал Azure откройте приложение логики "Стандартный" и пустой рабочий процесс в конструкторе.
Выполните следующие общие действия, чтобы добавить триггер с именем HTTP Webhook в рабочий процесс.
В этом примере триггер переименовывается в триггер веб-перехватчика HTTP, чтобы шаг получил более описательное имя. Кроме того, далее в примере добавляется действие веб-перехватчика 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 и тела сообщений, используемые при выполнении операций подписки и отмены подписки.
Если необходимо использовать проверку подлинности, вы можете добавить свойства подписки — проверка подлинности и отмена подписки. Дополнительные сведения о типах проверки подлинности, доступных для веб-перехватчика HTTP, см. в разделе Добавление проверки подлинности в исходящие вызовы.
Продолжайте создавать рабочий процесс с действиями, которые выполняются при срабатывании триггера.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Сохранение рабочего процесса вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова. Затем рабочий процесс ожидает отправки HTTP POST
запроса в URL-адрес обратного вызова. Когда происходит это событие, триггер срабатывает и передает все данные в запросе в рабочий процесс. Если эта операция завершится успешно, триггер отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.
Добавление действия веб-перехватчика HTTP
Этот встроенное действие вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова в целевой службе. Затем рабочий процесс приостанавливает и ожидает отправки HTTP POST
запроса на URL-адрес обратного вызова. Когда происходит это событие, действие передает все данные в запросе в рабочий процесс. Если операция завершится успешно, действие отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.
В этом примере триггер веб-перехватчика HTTP используется в качестве первого шага.
В портал Azure откройте приложение логики "Стандартный" и рабочий процесс в конструкторе.
Выполните следующие общие действия, чтобы добавить действие с именем HTTP Webhook в рабочий процесс.
В этом примере действие переименовывается в действие веб-перехватчика HTTP, чтобы шаг получил более описательное имя.
Укажите значения параметров триггера для веб-перехватчика 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 и тела сообщений, используемые при выполнении операций подписки и отмены подписки.
Чтобы добавить другие свойства действия, откройте список дополнительных параметров .
Например, если необходимо использовать проверку подлинности, можно добавить свойства Подписка: аутентификация и Отмена подписки: аутентификация. Дополнительные сведения о типах проверки подлинности, доступных для веб-перехватчика HTTP, см. в разделе Добавление проверки подлинности в исходящие вызовы.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
При выполнении этого действия рабочий процесс вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова. Затем рабочий процесс приостанавливает и ожидает отправки HTTP POST
запроса на URL-адрес обратного вызова. Когда происходит это событие, действие передает все данные в запросе в рабочий процесс. Если операция завершится успешно, действие отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.
Выходные данные триггеров и действий
Ниже приведены дополнительные сведения о выходных данных триггера или действия веб-перехватчика HTTP:
Имя свойства | Type | Описание |
---|---|---|
заголовки | объект | Заголовки из запроса |
текст | объект | Объект с содержимым текста из запроса |
Код состояния | INT | Код состояния из запроса |
Код состояния | Description |
---|---|
200 | OK |
202 | Accepted |
400 | Недопустимый запрос |
401 | Не авторизовано |
403 | Запрещено |
404 | Не найдено |
500 | Внутренняя ошибка сервера. Произошла неизвестная ошибка. |