Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Azure Logic Apps (Zużycie + Standardowa)
Jeśli chcesz, aby wyzwalacz lub akcja przepływu pracy oczekiwała na nadejście zdarzeń lub danych do docelowego punktu końcowego usługi przed ich uruchomieniem, użyj wyzwalacza lub akcji HTTP Webhook zamiast proaktywnie sprawdzać punkt końcowy zgodnie z harmonogramem. Wyzwalacz lub akcja webhook HTTP subskrybuje punkt końcowy usługi i czeka na nowe zdarzenia lub dane przed uruchomieniem. Można użyć wzorca elementu webhook do długotrwałych zadań i przetwarzania asynchronicznego.
Na poniższej liście opisano przykładowe przepływy pracy oparte na elementach webhook:
- Wyzwalacz HTTP Webhook czeka na nadejście zdarzenia z Azure Event Hubs przed uruchomieniem przepływu pracy.
- Akcja HTTP Webhook czeka na zatwierdzenie w Office 365 Outlook przed kontynuowaniem następnej akcji w przepływie pracy.
W tym przewodniku pokazano, jak skonfigurować wyzwalacz webhook HTTP i akcję webhook HTTP, aby workflow mógł odbierać i reagować na nowe zdarzenia lub dane w punkcie końcowym usługi.
Jak działają elementy webhook?
Wyzwalacz lub akcja elementu webhook nie sonduje ani nie aktywnie sprawdza nowych zdarzeń lub danych w docelowym punkcie końcowym usługi. Zamiast tego wyzwalacz lub akcja czeka na nadejście nowych zdarzeń lub danych do punktu końcowego usługi przed ich uruchomieniem. Po dodaniu wyzwalacza lub akcji elementu webhook do przepływu pracy, a następnie zapisaniu przepływu pracy lub ponownym uruchomieniu wyłączonego zasobu aplikacji logiki wyzwalacz elementu webhook lub akcja subskrybuje punkt końcowy usługi, generując i rejestrując adres URL wywołania zwrotnego za pomocą punktu końcowego. Wyzwalacz lub akcja czeka, aż punkt końcowy usługi wywoła adres URL, który uruchamia wyzwalacz lub akcję. Podobnie jak wyzwalacz żądania, wyzwalaczelementu webhook HTTP jest uruchamiany natychmiast.
Na przykład akcja łącznika Office 365 Outlook o nazwie Send approval email działa zgodnie z wzorcem webhook, ale działa tylko z Office 365 Outlook. Wzorzec webhook można rozszerzyć na dowolną usługę, używając wyzwalacza lub akcji HTTP Webhook z odpowiednim punktem końcowym usługi.
Wyzwalacz webhook pozostaje subskrybowany dla punktu końcowego usługi do momentu ręcznego wykonania jednej z następujących działań:
- Zmień wartości parametrów wyzwalacza.
- Usuń wyzwalacz, a następnie zapisz przepływ pracy.
- Wyłącz zasób aplikacji logiki.
Akcja elementu webhook pozostaje subskrybowana do punktu końcowego usługi, chyba że wystąpi jeden z następujących warunków:
- Akcja webhook została pomyślnie zakończona.
- Podczas oczekiwania na odpowiedź anulujesz przebieg przepływu pracy.
- Przepływ pracy przekroczył limit czasu.
- Zmieniać dowolne wartości parametrów akcji, które wyzwalacz webhooka wykorzystuje jako dane wejściowe.
Aby uzyskać więcej informacji, zobacz:
- Webhooki oraz subskrypcje
- Tworzenie niestandardowych interfejsów API obsługujących element webhook
- Dostęp do połączeń wychodzących do innych usług i systemów
Wymagania wstępne
Konto i subskrypcja Azure. Pobierz bezpłatne konto Azure.
Adres URL wdrożonego punktu końcowego usługi lub interfejsu API.
Ten element musi obsługiwać wzorzec "subskrypcji i rezygnacji z subskrypcji" dla wyzwalaczy webhooków w przepływach pracy lub akcjach webhooków w przepływach pracy.
Przepływ pracy aplikacji logiki w wersji Standardowa lub Zużycia, w którym chcesz użyć wyzwalacza lub akcji webhook HTTP.
- Aby użyć wyzwalacza webhook HTTP, utwórz zasób Logic App z pustym przebiegiem pracy.
- Aby użyć akcji HTTP Webhook, uruchom przepływ pracy z dowolnym wyzwalaczem, który działa najlepiej w danym scenariuszu. W przykładach użyto wyzwalacza webhook HTTP.
Dodaj wyzwalacz webhooka HTTP
Ten wbudowany wyzwalacz wywołuje punkt końcowy subskrypcji w usłudze docelowej i rejestruje adres URL wywołania zwrotnego w usłudze docelowej. Następnie przepływ pracy czeka na to, aby usługa docelowa wysłała żądanie HTTP POST do adresu URL zwrotnego. Po wystąpieniu tego zdarzenia, mechanizm wyzwalania uruchamia się i przekazuje dane zawarte w żądaniu do przepływu pracy.
W portalu Azure otwórz zasób aplikacji logiki. W projektancie otwórz pusty przepływ pracy.
Wykonaj ogólne kroki, aby dodać wyzwalacz typu webhook HTTP w przepływie pracy.
W tym przykładzie zmieniamy nazwę wyzwalacza na
Run HTTP Webhook trigger, aby była bardziej opisowa. W przykładzie dodano również akcję webhooka HTTP. Obie nazwy muszą być unikatowe.W przypadku parametrów wyzwalacza webhooka HTTP podaj wartości dla wywołań subskrypcji i wyrejestrowania.
Parameter Wymagane opis Metoda subskrybowania Tak Metoda do użycia do subskrybowania docelowego punktu końcowego. Adres URI subskrypcji Tak Adres URL używany do subskrypcji docelowego punktu końcowego. Treść subskrypcji Nie. Każda treść komunikatu do uwzględnienia w żądaniu subskrypcji. Ten przykład zawiera adres URL wywołania zwrotnego, który jednoznacznie identyfikuje subskrybenta reprezentowanego przez Twój przepływ pracy, przy użyciu listCallbackUrl()funkcji wyrażenia w celu pobrania adresu URL wywołania zwrotnego wyzwalacza.Treść anulowania subskrypcji Nie. Każda treść komunikatu do uwzględnienia w żądaniu anulowania subskrypcji. Możesz użyć listCallbackUrl()funkcji expression , aby pobrać adres URL wywołania zwrotnego akcji. Jednak wyzwalacz automatycznie dołącza i wysyła nagłówkix-ms-client-tracking-idorazx-ms-workflow-operation-name, które usługa docelowa może wykorzystać do unikalnego identyfikowania subskrybenta.Aby dodać inne parametry wyzwalacza, otwórz listę Parametry zaawansowane .
Aby na przykład użyć parametrów Metoda anulowania subskrypcji i Identyfikator URI anulowania subskrypcji , dodaj je z listy Parametry zaawansowane .
Poniższy przykład przedstawia wyzwalacz, który zawiera metody, identyfikatory URI i treści komunikatów do użycia dla metod subskrybowania i anulowania subskrypcji:
Jeśli musisz użyć uwierzytelniania, dodaj parametry uwierzytelnianie subskrypcji i uwierzytelnianie anulowania subskrypcji z listy Zaawansowane parametry.
Aby uzyskać więcej informacji na temat typów uwierzytelniania dostępnych dla elementu webhook HTTP, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.
Dodaj inne akcje, których potrzebuje twój scenariusz.
Po zakończeniu zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Zapisywanie przepływu pracy wywołuje punkt końcowy subskrypcji w usłudze docelowej i rejestruje adres URL wywołania zwrotnego. Przepływ pracy czeka, aż usługa docelowa wyśle HTTP POST żądanie do adresu URL wywołania zwrotnego. Po wystąpieniu tego zdarzenia wyzwalacz się uruchamia i przekazuje wszystkie dane w żądaniu do procesu roboczego. Jeśli ta operacja zostanie pomyślnie ukończona, wyzwalacz anuluje subskrypcję punktu końcowego, a przepływ pracy będzie kontynuowany do następnej akcji.
Dodaj akcję webhooka HTTP
Ta wbudowana akcja wywołuje punkt końcowy subskrybowania w usłudze docelowej i rejestruje adres URL wywołania zwrotnego. Następnie przepływ pracy wstrzymuje się i czeka, aż usługa docelowa wyśle HTTP POST żądanie do adresu URL wywołania zwrotnego. Po wystąpieniu tego zdarzenia zadanie przekazuje wszystkie dane w żądaniu do workflowu. Jeśli operacja zostanie ukończona pomyślnie, akcja anuluje subskrypcję punktu końcowego, a przepływ pracy będzie kontynuowany do następnej akcji.
W portalu Azure otwórz zasób aplikacji logiki. W edytorze otwórz przepływ pracy.
Wykonaj ogólne kroki , aby dodać akcję o nazwie Http Webhook do przepływu pracy.
W tym przykładzie zmieniono nazwę akcji
Run HTTP Webhook actionna bardziej opisową. Jeśli twój przepływ pracy używa również wyzwalacza HTTP Webhook, obie nazwy muszą być unikatowe.W przypadku parametrów akcji elementu webhook HTTP podaj wartości używane dla wywołań subskrypcji i anulowania subskrypcji:
Parameter Wymagane opis Metoda subskrybowania Tak Metoda do użycia do subskrybowania docelowego punktu końcowego. Adres URI subskrypcji Tak Adres URL używany do subskrypcji docelowego punktu końcowego. Treść subskrypcji Nie. Każda treść komunikatu do uwzględnienia w żądaniu subskrypcji. Ten przykład zawiera adres URL wywołania zwrotnego, który jednoznacznie identyfikuje subskrybenta za pomocą funkcji wyrażenia w celu pobrania adresu URL wywołania zwrotnego dla Twojego przepływu pracy. Treść anulowania subskrypcji Nie. Każda treść komunikatu do uwzględnienia w żądaniu anulowania subskrypcji. Możesz użyć listCallbackUrl()funkcji expression , aby pobrać adres URL wywołania zwrotnego akcji. Jednak akcja automatycznie uwzględnia i wysyła nagłówkix-ms-client-tracking-idorazx-ms-workflow-operation-name, których usługa docelowa może użyć do unikatowego zidentyfikowania subskrybenta.Aby dodać inne parametry akcji, otwórz listę Parametry zaawansowane .
Aby na przykład użyć parametrów Metoda anulowania subskrypcji i Identyfikator URI anulowania subskrypcji , dodaj je z listy Parametry zaawansowane .
W poniższym przykładzie pokazano akcję obejmującą metody, identyfikatory URI i treści komunikatów do użycia dla metod subskrybowania i anulowania subskrypcji:
Jeśli musisz użyć uwierzytelniania, dodaj parametry uwierzytelnianie subskrypcji i uwierzytelnianie anulowania subskrypcji z listy Zaawansowane parametry.
Aby uzyskać więcej informacji na temat typów uwierzytelniania dostępnych dla elementu webhook HTTP, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.
Dodaj inne akcje, których potrzebuje twój scenariusz.
Po zakończeniu zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Po uruchomieniu tej akcji przepływ pracy wywołuje punkt końcowy subskrypcji w usłudze docelowej i rejestruje adres URL wywołania zwrotnego. Przepływ pracy wstrzymuje się i czeka, aż usługa docelowa wyśle HTTP POST żądanie do adresu URL wywołania zwrotnego. Po wystąpieniu tego zdarzenia zadanie przekazuje wszystkie dane w żądaniu do workflowu. Jeśli operacja zostanie ukończona pomyślnie, akcja anuluje subskrypcję punktu końcowego, a przepływ pracy będzie kontynuowany do następnej akcji.
Dokumentacja techniczna łącznika
Aby uzyskać więcej informacji na temat wyzwalacza i parametrów akcji elementu webhook HTTP , zobacz Parametry elementu webhook HTTP. Wyzwalacz i akcja mają te same parametry.
Wygaśnięcie tokenu sygnatury dostępu współdzielonego (SAS)
Adres URL wywołania zwrotnego dla wyzwalacza lub akcji HTTP Webhook jest generowany automatycznie przez metodę List Callback Url - REST API. Domyślnie token SAS w adresie URL wywołania zwrotnego nie ma ograniczenia czasowego. Adres URL wywołania zwrotnego pozostaje prawidłowy dla czasu trwania przebiegu przepływu pracy.
Limity czasowe
W poniższej tabeli opisano limity czasu dla akcji HTTP Webhook, zależne od opcji hostingu aplikacji logiki.
| Opcja hostingu | Typ przepływu pracy | Czas trwania |
|---|---|---|
| Zużycie | Stateful | Do 90 dni. |
| Standard | Stateful | Do 30 dni. |
| Standard | Bezstanowa | 5 minut (stały limit) |
Adres URL wywołania zwrotnego akcji HTTP Webhook staje się nieprawidłowy w przypadku wystąpienia następujących zdarzeń:
- Anulujesz przepływ pracy.
- Usuwasz lub wyłączasz zasób przepływu pracy lub aplikacji logiki.
- Obracasz klucze dostępu przepływu pracy.
- Przepływ pracy przekroczył limit czasu.
Aby uzyskać informacje o innych limitach HTTP, zobacz limity HTTP w Azure Logic Apps.
Zmień limit czasu
Aby zmienić ten limit dla akcji HTTP Webhook w stanowych przepływach pracy przy użyciu portalu Azure, zobacz tabelę czasu trwania Limitu czasu dla wychodzących żądań HTTP. Możesz też w definicji JSON akcji dodać limit.timeout obiekt i ustawić wartość na żądany czas trwania, na przykład:
{
"actions": {
"Run_HTTP_Webhook_action": {
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "https://<external-service>.com/subscribe",
"body": {
"callbackUrl": "@{listCallBackUrl()}"
}
},
"unsubscribe": {}
},
"limit": {
"timeout": "PT1H"
}
}
}
}
Wyzwalacz i dane wyjściowe akcji
Poniższe tabele zawierają więcej informacji o danych wyjściowych zwracanych przez wyzwalacz lub akcję elementu webhook HTTP :
| Nazwa JSON | Typ | opis |
|---|---|---|
headers |
Obiekt JSON | Nagłówki żądania. |
body |
Obiekt JSON | Obiekt z zawartością treści żądania. |
status code |
int (integer) | Kod stanu żądania. |
| Kod stanu | opis |
|---|---|
| 200 | OK |
| 202 | Zaakceptowano |
| 400 | Nieprawidłowe żądanie |
| 401 | Brak autoryzacji |
| 403 | Dostęp zabroniony |
| 404 | Nie znaleziono |
| 500 | Wewnętrzny błąd serwera. Wystąpił nieznany błąd. |
Generowanie adresu URL wywołania zwrotnego przy użyciu klucza dostępu pomocniczego
Przepływ pracy aplikacji logiki ma dwa klucze dostępu: podstawowy i pomocniczy. Domyślnie Azure Logic Apps używa klucza podstawowego do generowania adresu URL dla zwrotnego wywołania dla wyzwalacza webhook HTTP.
Aby zamiast tego użyć klucza pomocniczego do generowania adresu URL wywołania zwrotnego, wykonaj następujące kroki:
Jeśli jesteś w projektancie przepływu pracy, przejdź do widoku kodu.
HttpWebhookW definicji wyzwalacza znajdźaccessKeyTypeparametr .Wprowadź wyraz
Secondaryjako wartość parametru.Zapisz swoje zmiany.
W poniższym przykładzie przedstawiono definicję wyzwalacza webhook z parametrem accessKeyType ustawionym na Secondary.
{
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "<subscription-URL>",
"body": "@listCallbackUrl()"
},
"accessKeyType": "Secondary"
},
"runAfter": {}
}