Subskrybowanie i oczekiwanie na uruchamianie przepływów pracy przy użyciu elementów webhook HTTP w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

Zamiast używać wyzwalacza, który regularnie sprawdza lub sonduje punkt końcowy usługi lub akcję wywołującą ten punkt końcowy, możesz użyć wyzwalacza lub akcji elementu webhook HTTP, który subskrybuje punkt końcowy usługi, czeka na określone zdarzenia i uruchamia określone akcje w przepływie pracy.

Oto kilka przykładowych przepływów pracy opartych na elementach webhook:

  • Przed wyzwoleniem przebiegu przepływu pracy poczekaj na nadejście zdarzenia z usługi Azure Event Hubs .
  • Poczekaj na zatwierdzenie przed kontynuowaniem przepływu pracy.

W tym przewodniku pokazano, jak używać wyzwalacza elementu webhook HTTP i akcji elementu webhook, aby przepływ pracy mógł odbierać zdarzenia i reagować na nie w punkcie końcowym usługi.

Jak działają elementy webhook?

Wyzwalacz elementu webhook jest oparty na zdarzeniach, który nie zależy od regularnego sprawdzania ani sondowania pod kątem nowych danych lub zdarzeń. Po dodaniu wyzwalacza elementu webhook do pustego przepływu pracy, a następnie zapisaniu przepływu pracy lub ponownym włączeniu wyłączonego zasobu aplikacji logiki wyzwalacz elementu webhook subskrybuje określony punkt końcowy usługi, rejestrując adres URL wywołania zwrotnego w tym punkcie końcowym. Następnie wyzwalacz czeka na wywołanie adresu URL tego punktu końcowego usługi, który uruchamia wyzwalacz i uruchamia przepływ pracy. Podobnie jak wyzwalacz żądania, wyzwalacz elementu webhook jest uruchamiany natychmiast. Wyzwalacz elementu webhook pozostaje również subskrybowany do punktu końcowego usługi, chyba że ręcznie wykonasz następujące czynności:

  • Zmień wartości parametrów wyzwalacza.
  • Usuń wyzwalacz, a następnie zapisz przepływ pracy.
  • Wyłącz zasób aplikacji logiki.

Podobnie jak w przypadku wyzwalacza elementu webhook, działa również akcja elementu webhook. Po dodaniu akcji elementu webhook do istniejącego przepływu pracy, a następnie zapisaniu przepływu pracy lub ponownym włączeniu wyłączonego zasobu aplikacji logiki akcja elementu webhook subskrybuje określony punkt końcowy usługi, rejestrując adres URL wywołania zwrotnego w tym punkcie końcowym. Po uruchomieniu przepływu pracy akcja elementu webhook wstrzymuje przepływ pracy i czeka, aż punkt końcowy usługi wywoła adres URL przed wznowienia działania przepływu pracy. Akcja elementu webhook anuluje subskrypcję punktu końcowego usługi, gdy wystąpią następujące warunki:

  • Akcja elementu webhook została pomyślnie zakończona.
  • Przebieg przepływu pracy jest anulowany podczas oczekiwania na odpowiedź.
  • Przed upływem limitu czasu działania przepływu pracy.
  • Zmieniasz wszystkie wartości parametrów akcji elementu webhook, które są używane jako dane wejściowe przez wyzwalacz elementu webhook.

Na przykład akcja wiadomości e-mail Wyślij zatwierdzenie łącznika usługi Office 365 outlook jest przykładem akcji elementu webhook, która jest zgodna z tym wzorcem. Ten wzorzec można rozszerzyć na dowolną usługę przy użyciu akcji elementu webhook.

Więcej informacji można znaleźć w następującej dokumentacji:

Aby uzyskać informacje na temat szyfrowania, zabezpieczeń i autoryzacji dla wywołań przychodzących do aplikacji logiki, takich jak Transport Layer Security (TLS), wcześniej znanych jako Secure Sockets Layer (SSL) lub Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), zobacz Bezpieczny dostęp i dane — dostęp do wywołań przychodzących do wyzwalaczy opartych na żądaniach.

dokumentacja techniczna Połączenie or

Aby uzyskać więcej informacji na temat parametrów wyzwalacza i akcji, zobacz Parametry elementu webhook HTTP.

Wymagania wstępne

Dodawanie wyzwalacza elementu webhook 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 wysłanie żądania do adresu URL wywołania zwrotnego przez usługę docelową HTTP POST . Po wystąpieniu tego zdarzenia wyzwalacz jest wyzwalany i przekazuje wszystkie dane w żądaniu do przepływu pracy.

  1. W witrynie Azure Portal otwórz aplikację logiki w warstwie Standardowa i pusty przepływ pracy w projektancie.

  2. Wykonaj następujące ogólne kroki, aby dodać wyzwalacz o nazwie Element webhook HTTP do przepływu pracy.

    W tym przykładzie zmieniono nazwę wyzwalacza elementu webhook HTTP, aby krok miał bardziej opisową nazwę. Ponadto w tym przykładzie dodano akcję elementu webhook HTTP, a obie nazwy muszą być unikatowe.

  3. Podaj wartości parametrów wyzwalacza elementu webhook HTTP, które mają być używane dla wywołań subskrypcji i anulowania subskrypcji.

    Właściwości Wymagania opis
    Subskrypcja — metoda Tak Metoda do użycia podczas subskrybowania docelowego punktu końcowego
    Subskrybuj — identyfikator URI Tak Adres URL do użycia do subskrybowania docelowego punktu końcowego
    Subskrybuj — treść 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, który jest twoją aplikacją logiki, używając @listCallbackUrl() wyrażenia w celu pobrania adresu URL wywołania zwrotnego aplikacji logiki.
    Anulowanie subskrypcji — metoda Nie. Metoda do użycia w przypadku anulowania subskrypcji z docelowego punktu końcowego
    Anulowanie subskrypcji — identyfikator URI Nie. Adres URL do użycia do anulowania subskrypcji z docelowego punktu końcowego
    Anulowanie subskrypcji — treść Nie. Opcjonalna treść komunikatu do uwzględnienia w żądaniu anulowania subskrypcji

    Uwaga: ta właściwość nie obsługuje używania listCallbackUrl() funkcji. Jednak wyzwalacz automatycznie dołącza i wysyła nagłówki oraz x-ms-client-tracking-idx-ms-workflow-operation-name, których usługa docelowa może używać do unikatowego identyfikowania subskrybenta.

    Uwaga

    W przypadku właściwości Unsubsubscribe — Method and Unsubscribe — URI dodaj je do akcji, otwierając listę Zaawansowane parametry.

    Na przykład poniższy wyzwalacz zawiera metody, identyfikatory URI i treści komunikatów do użycia podczas wykonywania operacji subskrybowania i anulowania subskrypcji.

    Screenshot shows Standard workflow with HTTP Webhook trigger parameters.

    Jeśli musisz użyć uwierzytelniania, możesz dodać właściwości Subskrybuj — Uwierzytelnianie i Anulowanie subskrypcji — Uwierzytelnianie . Aby uzyskać więcej informacji na temat typów uwierzytelniania dostępnych dla elementu webhook HTTP, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.

  4. Kontynuuj tworzenie przepływu pracy, korzystając z akcji uruchamianych po uruchomieniu wyzwalacza.

  5. Gdy wszystko będzie gotowe, zapisz proces. 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. Następnie przepływ pracy czeka na wysłanie żądania do adresu URL wywołania zwrotnego przez usługę docelową HTTP POST . Po wystąpieniu tego zdarzenia wyzwalacz jest wyzwalany i przekazuje wszystkie dane w żądaniu do przepływu pracy. Jeśli ta operacja zakończy się pomyślnie, wyzwalacz anuluje subskrypcję punktu końcowego, a przepływ pracy będzie kontynuowany do następnej akcji.

Dodawanie akcji elementu webhook HTTP

Ta wbudowana akcja 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 wstrzymuje się i czeka, aż usługa docelowa wyśle HTTP POST żądanie do adresu URL wywołania zwrotnego. Po wystąpieniu tego zdarzenia akcja przekazuje wszystkie dane w żądaniu do przepływu pracy. Jeśli operacja zakończy się pomyślnie, akcja anuluje subskrypcję punktu końcowego, a przepływ pracy będzie kontynuowany do następnej akcji.

W tym przykładzie użyto wyzwalacza elementu webhook HTTP jako pierwszego kroku.

  1. W witrynie Azure Portal otwórz standardową aplikację logiki i przepływ pracy w projektancie.

  2. Wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Http Webhook do przepływu pracy.

    W tym przykładzie zmieniono nazwę akcji na akcję elementu webhook HTTP, aby krok miał bardziej opisową nazwę.

  3. Podaj wartości parametrów akcji elementu webhook HTTP, które są podobne do parametrów wyzwalacza elementu webhook HTTP, które mają być używane dla wywołań subskrybowania i anulowania subskrypcji.

    Właściwości Wymagania opis
    Subskrypcja — metoda Tak Metoda do użycia podczas subskrybowania docelowego punktu końcowego
    Subskrybuj — identyfikator URI Tak Adres URL do użycia do subskrybowania docelowego punktu końcowego
    Subskrybuj — treść 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, który jest twoją aplikacją logiki, używając @listCallbackUrl() wyrażenia w celu pobrania adresu URL wywołania zwrotnego aplikacji logiki.
    Anulowanie subskrypcji — metoda Nie. Metoda do użycia w przypadku anulowania subskrypcji z docelowego punktu końcowego
    Anulowanie subskrypcji — identyfikator URI Nie. Adres URL do użycia do anulowania subskrypcji z docelowego punktu końcowego
    Anulowanie subskrypcji — treść Nie. Opcjonalna treść komunikatu do uwzględnienia w żądaniu anulowania subskrypcji

    Uwaga: ta właściwość nie obsługuje używania listCallbackUrl() funkcji. Jednak akcja automatycznie dołącza i wysyła nagłówki oraz x-ms-client-tracking-idx-ms-workflow-operation-name, których usługa docelowa może używać do unikatowego identyfikowania subskrybenta.

    Uwaga

    W przypadku właściwości Unsubsubscribe — Method and Unsubscribe — URI dodaj je do akcji, otwierając listę Zaawansowane parametry.

    Na przykład poniższa akcja obejmuje metody, identyfikatory URI i treści komunikatów do użycia podczas wykonywania operacji subskrybowania i anulowania subskrypcji.

    Screenshot shows Standard workflow with HTTP Webhook action parameters.

  4. Aby dodać inne właściwości akcji, otwórz listę Zaawansowane parametry .

    Jeśli na przykład musisz użyć uwierzytelniania, możesz dodać właściwości Subskrybuj — Uwierzytelnianie i Anulowanie subskrypcji — Uwierzytelnianie . Aby uzyskać więcej informacji na temat typów uwierzytelniania dostępnych dla elementu webhook HTTP, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.

  5. Gdy wszystko będzie gotowe, zapisz proces. 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. Następnie przepływ pracy wstrzymuje się i czeka na wysłanie żądania do adresu URL wywołania zwrotnego przez usługę docelową HTTP POST . Po wystąpieniu tego zdarzenia akcja przekazuje wszystkie dane w żądaniu do przepływu pracy. Jeśli operacja zakończy się pomyślnie, akcja anuluje subskrypcję punktu końcowego, a przepływ pracy będzie kontynuowany do następnej akcji.

Wyzwalanie i dane wyjściowe akcji

Poniżej przedstawiono więcej informacji na temat danych wyjściowych wyzwalacza lub akcji elementu webhook HTTP, które zwracają następujące informacje:

Nazwa właściwości Typ Opis
nagłówki obiekt Nagłówki żądania
treść obiekt Obiekt z zawartością treści żądania
kod stanu int 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.

Następne kroki