Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Logic Apps (повременная оплата + Стандарт)
Если вы хотите, чтобы триггер рабочего процесса или действие ждали событий или данных, поступающих в конечную точку целевой службы перед их запуском, используйте триггер или действие HTTP Webhook, вместо того чтобы заранее проверять конечную точку по расписанию. Триггер или действие веб-перехватчика HTTP подписывается на конечную точку службы и ожидает новых событий или данных перед выполнением. Шаблон webhook может быть использован для длительных задач и асинхронной обработки.
В следующем списке описаны примеры рабочих процессов на основе вебхуков.
- Триггер HTTP Webhook ожидает прибытия события из Центры событий Azure перед запуском рабочего процесса.
- Действие HTTP Webhook ожидает утверждения в Office 365 Outlook, прежде чем продолжить следующее действие в рабочем процессе.
В этом руководстве показано, как настроить триггер веб-перехватчика HTTP и действие веб-перехватчика HTTP , чтобы рабочий процесс смог получать и реагировать на новые события или данные в конечной точке службы.
Как работают вебхуки?
Триггер или действие веб-перехватчика не опрашивает и не проверяет наличие новых событий или данных в конечной точке целевой службы. Вместо этого триггер или действие ожидает, пока новые события или данные не будут поступать в конечную точку службы до их запуска. После добавления триггера или действия вебхука в рабочий процесс и сохранения этого процесса или после повторного включения отключенного ресурса логического приложения триггер вебхука или действие подписывается на конечную точку службы, создавая и регистрируя URL-адрес обратного вызова в конечной точке. Затем триггер или действие ожидает, пока конечная точка службы вызовет URL-адрес, который запускает триггер или действие. Как и триггер запроса, триггер веб-перехватчика HTTP немедленно запускается.
Например, действие соединителя Office 365 Outlook с именем Отправить письмо с утверждением следует шаблону веб-перехватчика, но работает только с Office 365 Outlook. Шаблон веб-перехватчика можно расширить для любой службы с помощью триггера веб-перехватчика HTTP или действия с нужной конечной точкой службы.
Триггер веб-хука остается подписанным на служебную конечную точку до тех пор, пока вы вручную не выполните одно из следующих действий:
- Измените значения параметров триггера.
- Удалите триггер и сохраните рабочий процесс.
- Отключите ресурс приложения логики.
Действие веб-перехватчика остается подписанным на конечную точку службы, если не выполнено одно из следующих условий:
- Действие вебхука успешно завершается.
- Вы отменяете выполнение рабочего процесса во время ожидания ответа.
- Время выполнения рабочего процесса истекло.
- Вы изменяете любые значения параметров действия веб-перехватчика, которые триггер веб-перехватчика использует в качестве входных данных.
Дополнительные сведения можно найти здесь
- Вебхуки и подписки
- Создавайте настраиваемые API, поддерживающие вебхук
- Доступ для исходящих вызовов к другим службам и системам
Предварительные требования
Учетная запись и подписка Azure. Получите бесплатную учетную запись Azure.
URL-адрес развернутой конечной точки службы или API.
Этот элемент должен поддерживать шаблон подписки и отписки для триггеров веб-перехватчиков в рабочих процессах или действий веб-перехватчиков в рабочих процессах.
Рабочий процесс приложения логики "Standard" или "Consumption", в котором требуется использовать триггер или действие веб-перехватчика HTTP.
- Чтобы использовать триггер веб-перехватчика HTTP , создайте ресурс приложения логики с пустым рабочим процессом.
- Чтобы использовать действие HTTP Webhook, запустите ваш воркфлоу с любым триггером, наиболее подходящим для вашей задачи. В примерах используется триггер HTTP Webhook.
Добавьте триггер веб-перехватчика HTTP
Этот встроенный триггер вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова в целевой службе. Затем рабочий процесс ожидает, когда целевая служба отправит HTTP POST запрос на URL-адрес обратного вызова. Когда происходит это событие, триггер срабатывает и передает все данные в запросе в рабочий процесс.
На портале Azure откройте ресурс приложения логики. В конструкторе откройте пустой рабочий процесс.
Выполните общие действия , чтобы добавить триггер с именем HTTP Webhook в рабочий процесс.
В этом примере триггер переименовывается
Run HTTP Webhook triggerв качестве более описательного имени. В примере также позже добавляется действие веб-перехватчика HTTP . Оба имени должны быть уникальными.Для параметров триггера веб-перехватчика HTTP укажите значения для вызовов подписки и отмены подписки:
Параметр Обязательное поле Описание Метод подписки Да Метод, используемый для подписки на целевую конечную точку. URI подписки Да URL-адрес, используемый для подписки на целевую конечную точку. Текст подписки нет Текст сообщения, включаемый в запрос подписки. В этом примере используется URL-адрес обратного вызова, который однозначно идентифицирует вашего подписчика в рабочем процессе, с помощью listCallbackUrl()функции выражения для получения URL-адреса обратного вызова вашего триггера.Текст отмены подписки нет Любой текст сообщения для включения в запрос отмены подписки. Вы можете использовать функцию выражения listCallbackUrl()для получения URL-адреса обратного вызова вашего действия. Тем не менее триггер также автоматически включает и отправляет заголовки,x-ms-client-tracking-idиx-ms-workflow-operation-name, что целевая служба может использовать для уникальной идентификации подписчика.Чтобы добавить другие параметры триггера, откройте список дополнительных параметров .
Например, чтобы использовать метод отмены подписки и параметры URI отмены подписки , добавьте их из списка дополнительных параметров .
В следующем примере показан триггер, включающий методы, URI и тела сообщений, используемые для методов подписки и отмены подписки:
Если необходимо использовать проверку подлинности, добавьте параметры проверки подлинности подписки и отмены подписки на проверку подлинности из списка дополнительных параметров .
Дополнительные сведения о типах проверки подлинности, доступных для веб-перехватчика HTTP, см. в разделе "Добавление проверки подлинности в исходящие вызовы".
Добавьте любые другие действия, необходимые вашему сценарию.
По завершении сохраните рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Сохранение рабочего процесса активирует конечную точку подписки в целевом сервисе и регистрирует URL-адрес обратного вызова. Рабочий процесс ожидает, чтобы целевая служба отправила HTTP POST запрос на URL-адрес обратного вызова. Когда это событие происходит, триггер запускается и передает все данные в запросе рабочему процессу. Если эта операция успешно завершена, триггер отменяет подписку из конечной точки и рабочий процесс продолжает следующее действие.
Добавь действие HTTP веб-перехватчика
Это встроенное действие вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова. Затем рабочий процесс приостанавливается и ожидает отправки HTTP POST запроса на URL-адрес обратного вызова. Когда это событие происходит, действие передает все данные в запросе рабочему процессу. Если операция успешно завершена, действие отменяет подписку из конечной точки, а рабочий процесс продолжает следующее действие.
На портале Azure откройте ресурс приложения логики. В конструкторе откройте рабочий процесс.
Выполните общие действия , чтобы добавить действие с именем HTTP Webhook в рабочий процесс.
В этом примере действие переименовывается
Run HTTP Webhook actionв качестве более описательного имени. Если рабочий процесс также использует триггер веб-перехватчика HTTP , оба имени должны быть уникальными.Для параметров действия веб-перехватчика HTTP укажите значения, используемые для вызовов подписки и отмены подписки:
Параметр Обязательное поле Описание Метод подписки Да Метод, используемый для подписки на целевую конечную точку. URI подписки Да URL-адрес, используемый для подписки на целевую конечную точку. Текст подписки нет Текст сообщения, включаемый в запрос подписки. В этом примере содержится URL-адрес обратного вызова, который однозначно идентифицирует ваш рабочий процесс как подписчика, используя функцию выражения для получения URL-адреса обратного вызова действия. Текст отмены подписки нет Любой текст сообщения для включения в запрос отмены подписки. Вы можете использовать функцию выражения listCallbackUrl()для получения URL-адреса обратного вызова вашего действия. Однако действие также автоматически включает и отправляет заголовки,x-ms-client-tracking-idиx-ms-workflow-operation-name, которые целевой сервис может использовать для уникальной идентификации подписчика.Чтобы добавить другие параметры действия, откройте список дополнительных параметров .
Например, чтобы использовать метод отмены подписки и параметры URI отмены подписки , добавьте их из списка дополнительных параметров .
В следующем примере показана операция, включающая методы, URI и тела сообщений, которые используются для методов подписки и отписки.
Если необходимо использовать проверку подлинности, добавьте параметры проверки подлинности подписки и отмены подписки на проверку подлинности из списка дополнительных параметров .
Дополнительные сведения о типах проверки подлинности, доступных для веб-перехватчика HTTP, см. в разделе "Добавление проверки подлинности в исходящие вызовы".
Добавьте любые другие действия, необходимые вашему сценарию.
По завершении сохраните рабочий процесс. На панели инструментов конструктора выберите Сохранить.
При выполнении этого действия рабочий процесс вызывает конечную точку подписки в целевой службе и регистрирует URL-адрес обратного вызова. Рабочий процесс приостанавливается и ожидает, когда целевая служба направит HTTP POST запрос на URL-адрес обратного вызова. Когда это событие происходит, действие передает все данные в запросе рабочему процессу. Если операция успешно завершена, действие отменяет подписку из конечной точки, а рабочий процесс продолжает следующее действие.
Технический справочник по соединителю
Дополнительные сведения о параметрах триггера и действия HTTP Webhook см. в разделе Параметры веб-перехватчика HTTP. Триггер и действие имеют одинаковые параметры.
Срок действия маркера с подписью для совместного доступа (SAS)
URL-адрес обратного вызова для триггера веб-перехватчика HTTP или действия автоматически создается с помощью метода REST API List Callback Url. По умолчанию маркер SAS в URL-адресе обратного вызова не имеет срока действия, основанного на времени. URL-адрес обратного вызова остается допустимым на протяжении выполнения рабочего процесса.
Ограничения таймаута
В следующей таблице описаны пределы времени ожидания для действия HTTP веб-перехватчика в зависимости от варианта размещения логического приложения.
| Вариант размещения | Тип рабочего процесса | Продолжительность |
|---|---|---|
| Consumption | Stateful | До 90 дней. |
| Стандарт | Stateful | До 30 дней. |
| Стандарт | Стейтлесс | 5 минут (фиксированное ограничение) |
URL-адрес обратного вызова действия HTTP Webhook становится недействительным при выполнении следующих событий:
- Вы отменяете рабочий процесс.
- Вы удаляете или отключаете ресурс рабочего процесса или приложения логики.
- Вы ротируете ключи доступа рабочего процесса.
- Время выполнения рабочего процесса истекло.
Сведения о других ограничениях HTTP см. в разделе HTTP ограничения в Azure Logic Apps.
Изменение ограничения времени ожидания
Чтобы изменить это ограничение для действия HTTP Webhook в рабочих процессах с отслеживанием состояния с помощью портала Azure, см. таблицу длительности Timeout для исходящих HTTP-запросов. Или, в определении действия в формате JSON, добавьте limit.timeout объект и задайте значение на нужную продолжительность, например:
{
"actions": {
"Run_HTTP_Webhook_action": {
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "https://<external-service>.com/subscribe",
"body": {
"callbackUrl": "@{listCallBackUrl()}"
}
},
"unsubscribe": {}
},
"limit": {
"timeout": "PT1H"
}
}
}
}
Выходные данные триггеров и действий
В следующих таблицах содержатся дополнительные сведения о выходных данных, возвращаемых триггером или действием веб-перехватчика HTTP :
| Имя JSON | Тип | Описание |
|---|---|---|
headers |
Объект JSON | Заголовки из запроса. |
body |
Объект JSON | Объект с текстовым содержимым из запроса. |
status code |
INT | Код состояния из запроса. |
| Код состояния | Описание |
|---|---|
| 200 | ХОРОШО |
| 202 | Принято |
| 400 | Недопустимый запрос |
| 401 | Не авторизовано |
| Ошибка 403: Доступ запрещён | Запрещено |
| 404 | Не найдено |
| 500 | Внутренняя ошибка сервера. Произошла неизвестная ошибка. |
Создайте URL-адрес обратного вызова с вторичным ключом доступа
Рабочий процесс приложения логики имеет два ключа доступа: первичный и вторичный. По умолчанию Azure Logic Apps использует первичный ключ для создания URL-адреса обратного вызова для триггера веб-перехватчика HTTP.
Чтобы использовать вторичный ключ вместо создания URL-адреса обратного вызова, выполните следующие действия.
Если вы находитесь в конструкторе рабочих процессов, перейдите в представление кода.
В определении триггера
HttpWebhookнайдите параметрaccessKeyType.Введите слово
Secondaryв качестве значения параметра.Сохраните свои изменения.
В следующем примере демонстрируется определение триггера вебхука с параметром accessKeyType, установленным на Secondary.
{
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "<subscription-URL>",
"body": "@listCallbackUrl()"
},
"accessKeyType": "Secondary"
},
"runAfter": {}
}
Связанный контент
- Доступ к входящим вызовам для триггеров, активируемых запросами
- Список всех соединителей Logic Apps
- Встроенные соединители в Azure Logic Apps