Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Azure Logic Apps (Verbrauch + Standard)
Wenn ein Workflowtrigger oder eine Aktion warten soll, bis Ereignisse oder Daten an einem Zieldienstendpunkt eingehen, bevor er ausgeführt wird, verwenden Sie den HTTP-Webhook-Trigger oder die -Aktion, anstatt den Endpunkt proaktiv nach einem Zeitplan zu überprüfen. Der HTTP-Webhook-Trigger oder die Aktion abonniert den Dienstendpunkt und wartet auf neue Ereignisse oder Daten, bevor sie ausgeführt werden. Sie können das Webhook-Muster für lang andauernde Aufgaben und asynchrone Verarbeitung verwenden.
In der folgenden Liste werden beispielbasierte Webhook-Workflows beschrieben:
- Ein HTTP-Webhook Trigger wartet, bis ein Ereignis von Azure Event Hubs empfangen wird, bevor der Workflow ausgeführt wird.
- Eine HTTP-Webhookaktion wartet auf eine Genehmigung in Office 365 Outlook, bevor die nächste Aktion im Workflow fortgesetzt wird.
In diesem Handbuch wird gezeigt, wie Sie den HTTP-Webhook-Trigger und die HTTP-Webhook-Aktion einrichten, damit Ihr Workflow neue Ereignisse oder Daten an einem Dienstendpunkt empfangen und darauf reagieren kann.
Wie funktionieren Webhooks?
Ein Webhook-Trigger oder eine Aktion führt keine Abfrage durch und sucht nicht aktiv nach neuen Ereignissen noch nach Daten am Ziel-Bereitstellungsendpunkt. Stattdessen wartet der Trigger oder die Aktion, bis neue Ereignisse oder Daten am Dienstendpunkt eingehen, bevor sie ausgeführt werden. Nachdem Sie Ihrem Workflow einen Webhook-Trigger oder eine Aktion hinzugefügt und dann den Workflow gespeichert haben oder nachdem Sie eine deaktivierte Logik-App-Ressource erneut aktiviert haben, abonniert der Webhook-Trigger oder die Aktion den Dienstendpunkt, indem eine Rückruf-URL für den Endpunkt generiert und registriert wird. Der Trigger oder die Aktion wartet dann auf den Dienstendpunkt, um die URL aufzurufen, die den Trigger oder die Aktion ausführt. Wie der Anforderungstrigger löst ein HTTP-Webhook-Trigger sofort aus.
Die Office 365 Outlook Connectoraktion mit dem Namen Send-Genehmigungs-E-Mail folgt beispielsweise dem Webhook-Muster, funktioniert jedoch nur mit Office 365 Outlook. Sie können das Webhook-Muster auf einen beliebigen Dienst erweitern, indem Sie den HTTP-Webhook-Trigger oder die Aktion mit dem gewünschten Dienstendpunkt verwenden.
Ein Webhook-Trigger bleibt abonniert für einen Dienstendpunkt, bis Sie manuell eine der folgenden Aktionen ausführen:
- Ändern der Parameterwerte des Triggers
- Löschen des Triggers und Speichern des Workflows
- Deaktivieren der Logik-App-Ressource
Eine Webhook-Aktion behält ihr Abonnement für einen Bereitstellungsendpunkt bei, es sei denn, eine der folgenden Bedingungen tritt ein:
- Die Webhookaktion wurde erfolgreich abgeschlossen.
- Sie brechen die Ausführung des Workflows ab, während Sie auf eine Antwort warten.
- Es tritt eine Zeitüberschreitung beim Workflow auf.
- Sie ändern alle Webhook-Aktionsparameterwerte, die ein Webhook-Trigger als Eingaben verwendet.
Weitere Informationen findest du unter:
- Webhooks und Abonnements
- Erstellen von benutzerdefinierten APIs, die einen Webhook unterstützen
- Zugriff für ausgehende Aufrufe anderer Dienste und Systeme
Voraussetzungen
Ein Azure Konto und Abonnement. Get a free Azure account.
Die URL für einen bereitgestellten Dienstendpunkt oder eine bereitgestellte API.
Dieses Element muss das Muster "Abonnieren und Abmelden" für Webhook-Trigger in Workflows oder Webhook-Aktionen in Workflows unterstützen.
Der Workflow der Standard- oder Verbrauchslogik-App, in dem Sie den HTTP-Webhook-Trigger oder die -Aktion verwenden möchten.
- Um den HTTP-Webhook-Trigger zu verwenden, erstellen Sie eine Logik-App-Ressource mit einem leeren Workflow.
- Um die HTTP-Webhook-Aktion zu verwenden, starten Sie Ihren Workflow mit jedem Trigger, der am besten für Ihr Szenario geeignet ist. In den Beispielen wird der HTTP-Webhook-Trigger verwendet.
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.
Öffnen Sie im portal Azure Ihre Logik-App-Ressource. Öffnen Sie im Designer Ihren leeren Workflow.
Führen Sie die allgemeinen Schritte aus, um den Trigger mit dem Namen "HTTP-Webhook " zu Ihrem Workflow hinzuzufügen.
In diesem Beispiel wird der Trigger
Run HTTP Webhook triggerin einen aussagekräftigeren Namen umbenannt. Im Beispiel wird später auch eine HTTP-Webhook-Aktion hinzugefügt. Beide Namen müssen eindeutig sein.Geben Sie für die HTTP-Webhook-Triggerparameter die Werte für die Aufrufe zum Abonnieren und Kündigen des Abonnements an:
Parameter Erforderlich Beschreibung Subscribe-Methode Ja Die Methode, die verwendet werden soll, um den Zielendpunkt zu abonnieren. Abonnement-URI Ja Die URL, die für das Abonnieren des Zielendpunkts verwendet werden soll. Abonnement-Inhalt Nein Jeder Nachrichtentext, der in die Abonnementanforderung eingeschlossen werden soll. Dieses Beispiel beinhaltet die Rückruf-URL, die das Abonnement eindeutig identifiziert, bei dem es sich um Ihren Workflow handelt. Dafür wird die listCallbackUrl()Ausdrucksfunktion verwendet, um die Rückruf-URL Ihres Triggers abzurufen.Kündigungstext Nein Jeder Nachrichtentext, der in die Abbestellanforderung aufgenommen werden soll. Sie können die Ausdrucksfunktion verwenden, um die listCallbackUrl()Rückruf-URL Ihrer Aktion abzurufen. Der Trigger schließt jedoch auch automatisch die Header ein und sendet sie,x-ms-client-tracking-idundx-ms-workflow-operation-name, die der Zieldienst verwenden kann, um den Abonnenten eindeutig zu identifizieren.Um weitere Triggerparameter hinzuzufügen, öffnen Sie die Liste der erweiterten Parameter .
Wenn Sie beispielsweise die Parameter " Unsubscribe Method " und "Unsubscribe URI " verwenden möchten, fügen Sie sie aus der Liste "Erweiterte Parameter" hinzu.
Das folgende Beispiel zeigt einen Trigger, der die Methoden, URIs und Nachrichtentexte enthält, die für die Methoden "Abonnieren und Abmelden" verwendet werden:
Wenn Sie die Authentifizierung verwenden müssen, fügen Sie die Parameter " Authentifizierung abonnieren " und " Unsubscribe Authentication " aus der Liste "Erweiterte Parameter " hinzu.
Weitere Informationen zu den für HTTP-Webhook verfügbaren Authentifizierungstypen finden Sie unter Hinzufügen der Authentifizierung zu ausgehenden Aufrufen.
Fügen Sie alle anderen Aktionen hinzu, die Ihr Szenario benötigt.
Speichern Sie Ihren Workflow, wenn Sie fertig sind. 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 darauf, dass der Zieldienst eine HTTP POST Anforderung an die Rückruf-URL sendet. Wenn dieses Ereignis eintritt, löst der Trigger aus und übergibt alle Daten in der Anforderung an den Workflow. Wenn diese Aktion erfolgreich abgeschlossen wird, 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. Der Workflow hält dann an und wartet 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 dieser Vorgang erfolgreich abgeschlossen wird, kündigt die Aktion das Abonnement des Endpunkts, und Ihr Workflow fährt mit der nächsten Aktion fort.
Öffnen Sie im portal Azure Ihre Logik-App-Ressource. Öffnen Sie im Designer Ihren Workflow.
Führen Sie die allgemeinen Schritte aus, um die Aktion mit dem Namen "HTTP-Webhook " zu Ihrem Workflow hinzuzufügen.
In diesem Beispiel wird die Aktion in
Run HTTP Webhook actionumbenannt, da dies ein aussagekräftigerer Name ist. Wenn Ihr Workflow auch den HTTP-Webhook-Trigger verwendet, müssen beide Namen eindeutig sein.Geben Sie für die HTTP-Webhook-Aktionsparameter die Werte an, die für die Aufrufe zum Abonnieren und Kündigen des Abonnements verwendet werden sollen:
Parameter Erforderlich Beschreibung Subscribe-Methode Ja Die Methode, die verwendet werden soll, um den Zielendpunkt zu abonnieren. Abonnement-URI Ja Die URL, die für das Abonnieren des Zielendpunkts verwendet werden soll. Abonnement-Inhalt Nein Jeder Nachrichtentext, der in die Abonnementanforderung eingeschlossen werden soll. Dieses Beispiel beinhaltet die Rückruf-URL, die das Abonnement eindeutig identifiziert, bei dem es sich um Ihren Workflow handelt. Dafür wird die listCallbackUrl()Ausdrucksfunktion verwendet, um die Rückruf-URL Ihrer Aktion abzurufen.Kündigungstext Nein Jeder Nachrichtentext, der in die Abbestellanforderung aufgenommen werden soll. Sie können die Ausdrucksfunktion verwenden, um die listCallbackUrl()Rückruf-URL Ihrer Aktion abzurufen. Die Aktion enthält jedoch auch automatisch die Kopfzeilenx-ms-client-tracking-idundx-ms-workflow-operation-name, die der Zieldienst verwenden kann, um den Abonnenten eindeutig zu identifizieren.Um weitere Aktionsparameter hinzuzufügen, öffnen Sie die Liste der erweiterten Parameter .
Wenn Sie beispielsweise die Parameter " Unsubscribe Method " und "Unsubscribe URI " verwenden möchten, fügen Sie sie aus der Liste "Erweiterte Parameter" hinzu.
Das folgende Beispiel zeigt eine Aktion, die die Methoden, URIs und Nachrichtentexte enthält, die für die Methoden "Abonnieren und Abmelden" verwendet werden sollen:
Wenn Sie die Authentifizierung verwenden müssen, fügen Sie die Parameter " Authentifizierung abonnieren " und " Unsubscribe Authentication " aus der Liste "Erweiterte Parameter " hinzu.
Weitere Informationen zu den für HTTP-Webhook verfügbaren Authentifizierungstypen finden Sie unter Hinzufügen der Authentifizierung zu ausgehenden Aufrufen.
Fügen Sie alle anderen Aktionen hinzu, die Ihr Szenario benötigt.
Speichern Sie Ihren Workflow, wenn Sie fertig sind. 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. Der Workflow hält an und wartet 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 dieser Vorgang erfolgreich abgeschlossen wird, kündigt die Aktion das Abonnement des Endpunkts, und Ihr Workflow fährt mit der nächsten Aktion fort.
Technische Referenz für den Connector
Weitere Informationen zu den HTTP-Webhook-Trigger - und Aktionsparametern finden Sie unter HTTP-Webhook-Parameter. Der Trigger und die Aktion haben dieselben Parameter.
Ablauf des SAS-Tokens (Shared Access Signature)
Die Rückruf-URL für den HTTP-Webhook-Auslöser oder die Aktion wird automatisch von der Rest-API-Methode "List Callback URL" generiert. Standardmäßig hat das SAS-Token in der Rückruf-URL kein zeitbasiertes Ablaufdatum. Die Rückruf-URL bleibt gültig für die Dauer der Workflowausführung.
Grenzwerte für Timeouts
In der folgenden Tabelle werden die Zeitlimits für die HTTP-Webhook-Aktion basierend auf der Logik-App-Hostingoption beschrieben:
| Hostingoption | Workflowtyp | Dauer |
|---|---|---|
| Verbrauch | Stateful | Bis zu 90 Tage. |
| Standard | Stateful | Bis zu 30 Tage. |
| Standard | Zustandslos | 5 Minuten (feste Grenze) |
Die Rückruf-URL der HTTP-Webhook-Aktion wird ungültig, wenn die folgenden Ereignisse auftreten:
- Sie brechen den Workflow ab.
- Sie löschen oder deaktivieren die Workflow- oder Logik-App-Ressource.
- Sie drehen die Zugriffstasten des Workflows.
- Es tritt eine Zeitüberschreitung beim Workflow auf.
Weitere HTTP-Grenzwerte finden Sie unter HTTP-Grenzwerte in Azure Logic Apps.
Timeout-Limit ändern
Informationen zum Ändern dieses Grenzwerts für die HTTP Webhook Aktion in zustandsbehafteten Workflows mithilfe des Azure Portals finden Sie in der Timeout-Dauertabelle für ausgehende HTTP-Anforderungen. Oder fügen Sie in der JSON-Definition der Aktion das limit.timeout Objekt hinzu, und legen Sie den Wert auf die gewünschte Dauer fest, z. B.:
{
"actions": {
"Run_HTTP_Webhook_action": {
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "https://<external-service>.com/subscribe",
"body": {
"callbackUrl": "@{listCallBackUrl()}"
}
},
"unsubscribe": {}
},
"limit": {
"timeout": "PT1H"
}
}
}
}
Ausgaben aus Triggern und Aktionen
Die folgenden Tabellen enthalten weitere Informationen zu den Ausgaben, die von einem HTTP-Webhook-Trigger oder einer Aktion zurückgegeben werden:
| JSON-Name | Typ | Beschreibung |
|---|---|---|
headers |
JSON-Objekt | Die Kopfzeilen aus der Anforderung. |
body |
JSON-Objekt | Das Objekt mit dem Inhalt des Texts aus der Anforderung. |
status code |
INT | Der Statuscode aus der Anforderung. |
| Statuscode | Beschreibung |
|---|---|
| 200 | OKAY |
| 202 | Zulässig |
| 400 | Ungültige Anforderung |
| 401 | Nicht autorisiert |
| 403 | Verboten |
| 404 | Nicht gefunden |
| 500 | Interner Serverfehler. Unbekannter Fehler. |
Generieren einer Rückruf-URL mit sekundärem Zugriffsschlüssel
Ein Logik-App-Workflow verfügt über zwei Zugriffstasten: primär und sekundär. Standardmäßig verwendet Azure Logic Apps den Primärschlüssel, um die Rückruf-URL für den HTTP-Webhook-Trigger zu generieren.
Führen Sie die folgenden Schritte aus, um den sekundären Schlüssel stattdessen für die Generierung von Rückruf-URLs zu verwenden:
Wenn Sie sich im Workflow-Designer befinden, wechseln Sie zur Codeansicht.
Suchen Sie in der
HttpWebhookTriggerdefinition denaccessKeyTypeParameter.Geben Sie das Wort
Secondaryals Parameterwert ein.Speichere deine Änderungen.
Das folgende Beispiel zeigt die Triggerdefinition des Webhooks, für die der Parameter accessKeyType auf Secondary festgelegt ist.
{
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "<subscription-URL>",
"body": "@listCallbackUrl()"
},
"accessKeyType": "Secondary"
},
"runAfter": {}
}