Abonnieren von Ereignissen und Warten auf Ereignisse zum Ausführen von Workflows mithilfe von HTTP-Webhooks in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch + Standard)

Anstelle eines Triggers, der regelmäßig einen Dienstendpunkt überprüft oder abfragt, oder einer Aktion, die diesen Endpunkt aufruft, können Sie einen HTTP-Webhooktrigger oder eine Aktion verwenden, der bzw. die einen Dienstendpunkt abonniert, auf bestimmte Ereignisse wartet und bestimmte Aktionen in Ihrem Workflow ausführt.

Hier sind einige Beispiele für webhookbasierte Workflows:

  • Warten, dass ein Ereignis von Azure Event Hubs eintrifft, bevor eine Workflowausführung ausgelöst wird
  • Warten auf eine Genehmigung, bevor ein Workflow fortgesetzt wird.

Dieser Leitfaden zeigt, wie Sie den HTTP-Webhooktrigger und die Webhookaktion verwenden, damit Ihr Workflow Ereignisse an einem Dienstendpunkt empfangen und darauf antworten kann.

Wie funktionieren Webhooks?

Ein Webhooktrigger ist ereignisbasiert und erfordert nicht, dass regelmäßig auf neue Daten oder Ereignisse geprüft wird oder diese abgerufen werden. Nachdem Sie einen Webhooktrigger zu einem leeren Workflow hinzugefügt und dann den Workflow gespeichert haben oder nachdem Sie eine deaktivierte Logik-App-Ressource erneut aktiviert haben, abonniert der Webhooktrigger den angegebenen Dienstendpunkt. Dazu registriert er eine Rückruf-URL bei diesem Endpunkt. Der Trigger wartet dann darauf, dass der Dienstendpunkt die URL aufruft, wodurch der Trigger ausgelöst und der Workflow gestartet wird. Ähnlich wie der Anforderungstrigger wird ein Webhooktrigger sofort ausgelöst. Der Webhooktrigger bleibt auch beim Dienstendpunkt abonniert, es sei denn, Sie führen manuell die folgenden Aktionen aus:

  • Ändern der Parameterwerte des Triggers
  • Löschen des Triggers und Speichern des Workflows
  • Deaktivieren der Logik-App-Ressource

Ähnlich wie der Webhooktrigger ist eine Webhookaktion ebenfalls ereignisbasiert. Nachdem Sie eine Webhookaktion zu einem vorhandenen Workflow hinzugefügt und dann den Workflow gespeichert haben oder nachdem Sie eine deaktivierte Logik-App-Ressource erneut aktiviert haben, abonniert die Webhookaktion den angegebenen Dienstendpunkt. Dazu registriert sie eine Rückruf-URL bei diesem Endpunkt. Wenn der Workflow ausgeführt wird, hält die Webhookaktion den Workflow an und wartet, bis der Dienstendpunkt die URL aufruft, bevor der Workflow die Ausführung fortsetzt. Eine Webhookaktion kündigt das Abonnement für den Dienstendpunkt, wenn die folgenden Bedingungen auftreten:

  • Die Webhookaktion wurde erfolgreich abgeschlossen.
  • Die Workflowausführung wird während des Wartens auf eine Antwort abgebrochen.
  • Vor dem Timeout einer Workflowausführung
  • Sie ändern die Parameterwerte von Webhookaktionen, die von einem Webhooktrigger als Eingaben verwendet werden.

Die Aktion zum Senden einer Genehmigungs-E-Mail von Office 365 Outlook ist ein Beispiel für eine Webhookaktion, die diesem Muster folgt. Sie können dieses Muster mithilfe der Webhookaktion auf jeden Dienst erweitern.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Informationen zu Verschlüsselung, Sicherheit und Autorisierung für eingehende Aufrufe Ihrer Logik-App, etwa Transport Layer Security (TLS) (früher bekannt als Secure Sockets Layer (SSL)) oder Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), finden Sie unter Sicherer Zugriff und Daten: Zugriff für eingehende Aufrufe anforderungsbasierter Trigger.

Technische Referenz für den Connector

Weitere Informationen zu Trigger- und Aktionsparametern finden Sie unter HTTP-Webhookparameter.

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie sich für ein kostenloses Azure-Konto registrieren.

  • Die URL für einen bereits bereitgestellten Endpunkt oder eine API, die das Webhookmuster für das Abonnieren und Kündigen von Abonnements für Webhooktrigger in Workflows oder Webhookaktionen in WorkflowsApps je nach Bedarf unterstützt.

  • Der Workflow der Standard- oder Verbrauchs-Logik-App, in dem auf bestimmte Ereignisse am Zielendpunkt gewartet werden soll. Um mit dem HTTP-Webhooktrigger zu beginnen, erstellen Sie eine Logik-App mit einem leeren Workflow. Um die HTTP-Webhookaktion zu verwenden, starten Sie Ihren Workflow mit einem beliebigen Trigger. Dieses Beispiel verwendet den HTTP-Trigger als ersten Schritt.

Hinzufügen eines HTTP-Webhooktriggers

Dieser integrierte Trigger ruft den Abonnementendpunkt im Zieldienst auf und registriert eine Rückruf-URL beim Zieldienst. Ihr Workflow wartet dann darauf, dass der Zieldienst eine HTTP POST-Anforderung an die Rückruf-URL sendet. Wenn dieses Ereignis eintritt, wird der Trigger ausgelöst und übergibt alle Daten in der Anforderung an den Workflow.

  1. Öffnen Sie im Azure-Portal Ihre Standardlogik-App und deren leeren Workflow im Workflow-Designer.

  2. Führen Sie diese allgemeinen Schritte aus, um den Trigger HTTP-Webhook zu Ihrem Workflow hinzuzufügen.

    Dieses Beispiel benennt den Trigger in HTTP-Webhooktrigger um, damit der Schritt über einen aussagekräftigeren Namen verfügt. Darüber hinaus fügt das Beispiel später eine HTTP-Webhookaktion hinzu, und beide Namen müssen eindeutig sein.

  3. Geben Sie die Werte für die Parameter des HTTP-Webhooktriggers an, die Sie für die Aufrufe zum Abonnieren und Kündigen eines Abonnements verwenden möchten.

    Eigenschaft Erforderlich Beschreibung
    Abonnement: Methode Ja Die Methode, die beim Abonnieren des Zielendpunkts verwendet werden soll.
    Abonnieren: URI Ja Die URL, die zum Abonnieren des Zielendpunkts verwendet werden soll.
    Abonnieren: Text Nein Jeder Nachrichtentext, der in die Abonnementanforderung eingeschlossen werden soll. Dieses Beispiel beinhaltet die Rückruf-URL, die den Abonnenten eindeutig identifiziert, bei dem es sich um Ihre Logik-App handelt, indem der @listCallbackUrl()-Ausdruck verwendet wird, um die Rückruf-URL Ihrer Logik-App abzurufen.
    Abonnement kündigen: Method Nein Die Methode, die beim Kündigen des Abonnements des Zielendpunkts verwendet werden soll.
    Abonnement kündigen: URI Nein Die URL, die zum Kündigen des Abonnements des Zielendpunkts verwendet werden soll.
    Abonnement kündigen: Text Nein Ein optionaler Nachrichtentext, der in die Anforderung der Abonnementkündigung eingeschlossen werden soll.

    Hinweis: Diese Eigenschaft unterstützt nicht die Verwendung der listCallbackUrl()-Funktion. Der Trigger schließt jedoch automatisch die Header x-ms-client-tracking-id und x-ms-workflow-operation-name ein und sendet sie, die der Zieldienst verwenden kann, um den Abonnenten eindeutig zu identifizieren.

    Hinweis

    Fügen Sie die Eigenschaften Abbestellen: Methode and Abbestellen: URI Ihrer Aktion hinzu, indem Sie die Liste Erweiterte Parameter öffnen.

    Der folgende Trigger umfasst beispielsweise die Methoden, URIs und Nachrichtentexte, die beim Durchführen der Vorgänge „Abonnieren“ und „Abonnement kündigen“ verwendet werden sollen.

    Screenshot shows Standard workflow with HTTP Webhook trigger parameters.

    Wenn Sie Authentifizierung verwenden müssen, können Sie die Eigenschaften Abonnieren: Authentifizierung und Abbestellen: Authentifizierung hinzufügen. Weitere Informationen zu verfügbaren Authentifizierungstypen für HTTP Webhook finden Sie unter Hinzufügen von Authentifizierung zu ausgehenden Aufrufen.

  4. Fahren Sie mit dem Erstellen des Workflows fort, und fügen Sie weitere Aktionen hinzu, die bei Auslösung des Triggers ausgeführt werden.

  5. Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Durch das Speichern Ihres Workflows wird der Abonnementendpunkt im Zieldienst aufgerufen und die Rückruf-URL registriert. Ihr Workflow wartet dann darauf, dass der Zieldienst eine HTTP POST-Anforderung an die Rückruf-URL sendet. Wenn dieses Ereignis eintritt, wird der Trigger ausgelöst und übergibt alle Daten in der Anforderung an den Workflow. Wenn dieser Vorgang erfolgreich abgeschlossen wurde, kündigt der Trigger das Abonnement des Endpunkts, und Ihr Workflow fährt mit der nächsten Aktion fort.

Hinzufügen einer HTTP-Webhookaktion

Diese integrierte Aktion ruft den Abonnementendpunkt im Zieldienst auf und registriert eine Rückruf-URL beim Zieldienst. Ihr Workflow pausiert und wartet dann darauf, dass der Zieldienst eine HTTP POST-Anforderung an die Rückruf-URL sendet. Wenn dieses Ereignis eintritt, übergibt die Aktion alle Daten in der Anforderung an den Workflow. Wenn der Vorgang erfolgreich abgeschlossen wurde, kündigt die Aktion das Abonnement des Endpunkts, und Ihr Workflow fährt mit der nächsten Aktion fort.

Dieses Beispiel verwendet den HTTP-Webhooktrigger als ersten Schritt.

  1. Öffnen Sie im Azure-Portal Ihre Standardlogik-App und deren Workflow im Workflow-Designer.

  2. Führen Sie diese allgemeinen Schritte aus, um die Aktion HTTP-Webhook zu Ihrem Workflow hinzuzufügen.

    Dieses Beispiel benennt die Aktion in HTTP-Webhookaktion um, damit der Schritt über einen aussagekräftigeren Namen verfügt.

  3. Geben Sie die Werte für die Parameter der HTTP-Webhookaktion an (die ähnlich wie die Parameter des Webhooktriggers sind), die Sie für die Aufrufe zum Abonnieren und Kündigen eines Abonnements verwenden möchten.

    Eigenschaft Erforderlich Beschreibung
    Abonnement: Methode Ja Die Methode, die beim Abonnieren des Zielendpunkts verwendet werden soll.
    Abonnieren: URI Ja Die URL, die zum Abonnieren des Zielendpunkts verwendet werden soll.
    Abonnieren: Text Nein Jeder Nachrichtentext, der in die Abonnementanforderung eingeschlossen werden soll. Dieses Beispiel beinhaltet die Rückruf-URL, die den Abonnenten eindeutig identifiziert, bei dem es sich um Ihre Logik-App handelt, indem der @listCallbackUrl()-Ausdruck verwendet wird, um die Rückruf-URL Ihrer Logik-App abzurufen.
    Abonnement kündigen: Method Nein Die Methode, die beim Kündigen des Abonnements des Zielendpunkts verwendet werden soll.
    Abonnement kündigen: URI Nein Die URL, die zum Kündigen des Abonnements des Zielendpunkts verwendet werden soll.
    Abonnement kündigen: Text Nein Ein optionaler Nachrichtentext, der in die Anforderung der Abonnementkündigung eingeschlossen werden soll.

    Hinweis: Diese Eigenschaft unterstützt nicht die Verwendung der listCallbackUrl()-Funktion. Die Aktion schließt jedoch automatisch die Header x-ms-client-tracking-id und x-ms-workflow-operation-name ein und sendet sie, die der Zieldienst verwenden kann, um den Abonnenten eindeutig zu identifizieren.

    Hinweis

    Fügen Sie die Eigenschaften Abbestellen: Methode and Abbestellen: URI Ihrer Aktion hinzu, indem Sie die Liste Erweiterte Parameter öffnen.

    Die folgende Aktion umfasst beispielsweise die Methoden, URIs und Nachrichtentexte, die beim Durchführen der Vorgänge „Abonnieren“ und „Abonnement kündigen“ verwendet werden sollen.

    Screenshot shows Standard workflow with HTTP Webhook action parameters.

  4. Öffnen Sie die Liste Erweiterte Parameter, um weitere Aktionseigenschaften hinzuzufügen.

    Wenn Sie beispielsweise Authentifizierung verwenden müssen, können Sie die Eigenschaften Abonnieren: Authentifizierung und Abonnement kündigen: Authentifizierung hinzufügen. Weitere Informationen zu verfügbaren Authentifizierungstypen für HTTP Webhook finden Sie unter Hinzufügen von Authentifizierung zu ausgehenden Aufrufen.

  5. Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Wenn diese Aktion ausgeführt wird, ruft Ihr Workflow den Abonnementendpunkt im Zieldienst auf und registriert die Rückruf-URL. Ihr Workflow pausiert und wartet dann darauf, dass der Zieldienst eine HTTP POST-Anforderung an die Rückruf-URL sendet. Wenn dieses Ereignis eintritt, übergibt die Aktion alle Daten in der Anforderung an den Workflow. Wenn der Vorgang erfolgreich abgeschlossen wurde, kündigt die Aktion das Abonnement des Endpunkts, und Ihr Workflow fährt mit der nächsten Aktion fort.

Ausgaben aus Triggern und Aktionen

Hier finden Sie weitere Informationen zu den Ausgaben aus einem HTTP-Webhooktrigger oder einer -aktion, die diese Informationen zurückgeben:

Eigenschaftenname Type BESCHREIBUNG
headers Objekt Die Header aus der Anforderung
body Objekt Das Objekt mit dem Inhalt des Texts aus der Anforderung
status code INT Der Statuscode aus der Anforderung
Statuscode BESCHREIBUNG
200 OK
202 Akzeptiert
400 Bad request (Ungültige Anforderung)
401 Nicht autorisiert
403 Verboten
404 Nicht gefunden
500 Interner Serverfehler. Unbekannter Fehler.

Nächste Schritte