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)
In diesem Leitfaden wird gezeigt, wie Sie einen Logik-App-Workflow erstellen, der eine eingehende HTTPS-Anforderung von einem anderen Dienst empfangen und verarbeiten kann, indem Sie den integrierten Trigger "Anforderung" verwenden. Wenn Ihr Workflow diesen Trigger verwendet, kann der Workflow mithilfe der integrierten Antwortaktion auf den HTTPS-Aufruf reagieren.
Hinweis
Die Antwortaktion funktioniert nur, wenn Sie den Anforderungstrigger verwenden.
Ihr Workflow kann beispielsweise die folgenden Aufgaben ausführen, wenn Sie den Anforderungstrigger und die Antwortaktion verwenden:
Empfangen von und Antworten auf eine HTTPS-Anforderung von Daten in einer lokalen Datenbank.
Eine HTTPS-Anforderung, die von einem anderen Logik-App-Workflow gesendet wurde empfangen und beantworten
Eine Workflow-Ausführung auslösen, wenn ein externes Webhook-Ereignis eintritt
Um Ihren Workflow stattdessen durch Senden einer ausgehenden oder ausgehenden Anforderung auszuführen, verwenden Sie den integrierten HTTP-Trigger oder die integrierte HTTP-Aktion.
Voraussetzungen
- Ein Azure-Konto und ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.
Die Logik-App-Ressource mit dem Workflow, in dem Sie die eingehende HTTPS-Anforderung empfangen möchten.
Um Den Workflow mit einem Anforderungstrigger zu starten, müssen Sie über einen leeren Workflow verfügen. Um die Antwortaktion zu verwenden, muss ihr Workflow mit dem Anforderungstrigger beginnen.
Wenn Sie nicht über eine Logik-App-Ressource und einen Workflow verfügen, erstellen Sie sie jetzt, indem Sie die Schritte für die gewünschte Logik-App ausführen:
Installieren oder verwenden Sie ein Tool, das HTTP-Anforderungen senden kann, um Ihre Lösung zu testen, z. B.:
- Visual Studio Code mit einer Erweiterung von Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge – Netzwerkkonsolentool
- Bruno
- curl
Vorsicht
Für Szenarien, in denen Sie vertrauliche Daten haben, z. B. Anmeldeinformationen, Geheime Schlüssel, Zugriffstoken, API-Schlüssel und andere ähnliche Informationen, stellen Sie sicher, dass Sie ein Tool verwenden, das Ihre Daten mit den erforderlichen Sicherheitsfeatures schützt. Das Tool sollte offline oder lokal arbeiten und muss sich nicht bei einem Onlinekonto anmelden oder Daten mit der Cloud synchronisieren. Wenn Sie ein Tool mit diesen Merkmalen verwenden, verringern Sie das Risiko, vertrauliche Daten für die Öffentlichkeit verfügbar zu machen.
Hinzufügen eines Anforderungstriggers
Der Trigger Anforderung erstellt einen manuell aufrufbaren Endpunkt, der nur eingehende Anforderungen über HTTPS verarbeitet. Wenn der Aufrufer eine Anforderung an diesen Endpunkt sendet, wird der Trigger Anforderung ausgelöst und führt den Workflow aus. Informationen zum Aufrufen dieses Triggers finden Sie unter Aufrufen, Auslösen oder Schachteln von Workflows mit HTTPS-Endpunkten in Azure Logic Apps.
Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource (Verbrauch).
Wählen Sie im Randleistenmenü unter "Entwicklungstools" den Designer aus, um ihren leeren Workflow zu öffnen.
Fügen Sie den integrierten Request-Auslöser namens Wenn eine HTTP-Anforderung empfangen wird zu Ihrem Workflow hinzu, indem Sie die allgemeinen Schritte zum Hinzufügen eines Triggers ausführen.
Geben Sie nach dem Anzeigen des Triggerinformationsfelds die folgenden Informationen an:
Eigenschaftenname JSON-Eigenschaftenname Erforderlich BESCHREIBUNG HTTP-URL {keine} Ja Die Endpunkt-URL, die nach dem Speichern Ihres Workflows generiert und zum Senden einer Anforderung verwendet wird, die Ihren Workflow auslöst. JSON-Schema für Anforderungstext schema
Nein Das JSON-Schema, das die Eigenschaften und Werte im eingehenden Anforderungstext beschreibt. Der Designer verwendet dieses Schema zum Generieren von Token für die Eigenschaften in der Anforderung. Auf diese Weise kann Ihr Workflow Ausgaben des Triggers Anforderung analysieren, verarbeiten und an Ihren Workflow weitergeben.
Wenn Sie kein JSON-Schema haben, können Sie das Schema aus einer Beispielnutzlast generieren, indem Sie die Funktion Beispielnutzlast zum Generieren von Schema verwenden verwenden.Das folgende Beispiel zeigt ein JSON-Beispielschema:
Das folgende Beispiel zeigt das vollständige Beispiel-JSON-Schema:
{ "type": "object", "properties": { "account": { "type": "object", "properties": { "name": { "type": "string" }, "ID": { "type": "string" }, "address": { "type": "object", "properties": { "number": { "type": "string" }, "street": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "country": { "type": "string" }, "postalCode": { "type": "string" } } } } } } }
Wenn Sie ein JSON-Schema eingeben, zeigt der Designer möglicherweise eine Erinnerung an, um den
Content-Type
Header in Ihre Anforderung einzuschließen und diesen Headerwert auf festzulegenapplication/json
. Weitere Informationen finden Sie unter Behandeln von Inhaltstypen.Das folgende Beispiel zeigt, wie der
Content-Type
Header im JSON-Format angezeigt wird:{ "Content-Type": "application/json" }
Um ein JSON-Schema zu generieren, das auf der erwarteten Nutzlast (Daten) basiert, können Sie ein Tool wie json-schema.org verwenden oder die folgenden Schritte ausführen:
Wählen Sie im Anforderungstrigger die Option Beispielnutzlast zum Generieren eines Schemas verwenden aus.
Geben Sie die Beispielnutzlast ein, und wählen Sie dann Fertig aus.
Das folgende Beispiel zeigt die Beispielnutzlast:
{ "account": { "name": "Contoso", "ID": "12345", "address": { "number": "1234", "street": "Anywhere Street", "city": "AnyTown", "state": "AnyState", "country": "USA", "postalCode": "11111" } } }
Gehen Sie folgendermaßen vor, um zu überprüfen, ob der eingehende Aufruf einen Anforderungstext enthält, der dem angegebenen Schema entspricht:
Um zu erzwingen, dass die eingehende Nachricht genau die Felder enthält, die ihr Schema beschreibt, fügen Sie in Ihrem Schema die Eigenschaft
required
hinzu, und geben Sie die erforderlichen Felder an. Fügen Sie dieadditionalProperties
Eigenschaft hinzu, und legen Sie den Wert auf "false" fest.Das folgende Schema gibt beispielsweise an, dass die eingehende Nachricht das Feld
msg
und keine anderen Felder enthalten muss:{ "properties": { "msg": { "type": "string" } }, "type": "object", "required": ["msg"], "additionalProperties": false }
Wählen Sie im Designer den Anforderungsauslöser aus. Wählen Sie im daraufhin geöffneten Informationsbereich die Registerkarte Einstellungen aus.
Erweitern Sie die Datenverarbeitung, und legen Sie die Schemaüberprüfung auf Ein fest.
Wenn der Anforderungstext des eingehenden Aufruf nicht mit Ihrem Schema übereinstimmt, gibt der Trigger einen HTTP 400 Bad Request-Fehler zurück.
Wählen Sie aus der Methoden-Liste die Methode aus, die der Trigger für eingehende Anforderungen erwartet.
Wenn andere Parameter für den Trigger vorhanden sind, öffnen Sie die Liste der erweiterten Parameter , und wählen Sie die gewünschten Parameter aus.
Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Dieser Schritt generiert die URL, die Sie verwenden können, um eine Anforderung zu senden, die den Workflow auslöst.
Um die generierte URL zu kopieren, wählen Sie das Kopiersymbol neben der URL aus.
Hinweis
Wenn Sie das Hash- oder Nummernzeichen (#) im URI verwenden möchten, wenn Sie einen Aufruf an den Trigger Anforderung senden, nutzen Sie stattdessen diese codierte Version:
%25%23
.
Bauen Sie jetzt Ihren Workflow weiter auf, indem Sie im nächsten Schritt eine weitere Aktion hinzufügen. Beispielsweise können Sie auf die Anfrage antworten, indem Sie eine Antwortaktion hinzufügen, die Sie verwenden können, um eine benutzerdefinierte Antwort zurückzugeben, und die weiter unten in diesem Artikel beschrieben wird.
Hinweis
Ihr Workflow hält eine eingehende Anforderung nur für eine begrenzte Zeit offen. Unter der Annahme, dass Ihr Workflow auch eine Antwortaktion enthält, gibt Ihr Workflow den Status 504 GATEWAY TIMEOUT an den Anrufer zurück, wenn Ihr Workflow nach Ablauf dieser Zeit keine Antwort an den Anrufer zurückgibt. Wenn Ihr Workflow keine Response-Aktion enthält, gibt Ihr Workflow sofort den Status 202 ACCEPTED an den Anrufer zurück.
Informationen zu Sicherheit, Authentifizierung und Verschlüsselung für eingehende Aufrufe an Ihren Workflow, wie beispielsweise Transport Layer Security (TLS), OAuth mit Microsoft Entra ID, Shared Access Signatures (SAS), das Exponieren Ihrer Logik-App-Ressource mit Azure API Management oder die Einschränkung der IP-Adressen, die eingehende Anrufe initiieren, finden Sie unter Zugriff für eingehende Anrufe zu anforderungsbasierten Auslösern.
Triggerausgaben
In der folgenden Tabelle sind die Ausgaben des Anforderungstriggers aufgeführt:
JSON-Eigenschaftenname | Datentyp | BESCHREIBUNG |
---|---|---|
headers |
Object | Ein JSON-Objekt, das die Header aus der Anforderung beschreibt |
body |
Object | Ein JSON-Objekt, das den Textinhalt aus der Anforderung beschreibt |
Hinzufügen einer Antwortaktion
Wenn Sie den Anforderungstrigger verwenden, um eingehende Anforderungen zu empfangen, können Sie die Antwort modellieren und die Nutzlastergebnisse zurück an den Aufrufer senden, indem Sie die integrierte Antwortaktion verwenden, die nur mit dem Anforderungstrigger funktioniert. Diese Kombination mit der Anforderungstrigger - und Antwortaktion erstellt das Anforderungsantwortmuster. Außer innerhalb von For each-Schleifen und Until-Schleifen sowie parallelen Branches können Sie die Antwortaktion an beliebiger Stelle in Ihren Workflow hinzufügen.
Wichtig
Wenn Ihre Antwortaktion die folgenden Kopfzeilen enthält, entfernt Azure Logic Apps diese Kopfzeilen automatisch aus der generierten Antwortnachricht, ohne eine Warnung oder einen Fehler anzuzeigen. Azure Logic Apps enthält diese Header nicht, obwohl der Dienst Sie nicht daran hindert, Workflows mit einer Antwortaktion mit diesen Headern zu speichern.
Allow
-
Content-*
-Header, außerContent-Disposition
,Content-Encoding
undContent-Type
, wenn SiePOST
- undPUT
-Operationen verwenden, aber nicht enthalten inGET
-Operationen Cookie
Expires
Last-Modified
Set-Cookie
Transfer-Encoding
Wenn Sie in einem komplexen Workflow mit Verzweigungen eine oder mehrere Response-Aktionen haben, stellen Sie sicher, dass der Workflow während der Laufzeit mindestens eine Response-Aktion verarbeitet. Wenn alle Antwortaktionen übersprungen werden, erhält der Aufrufer andernfalls einen Fehler 502 Bad Gateway (Ungültiges Gateway), selbst wenn der Workflow erfolgreich abgeschlossen wurde.
In einem zustandslosen Workflow einer Standard-Logik-App muss die Aktion „Antwort“ als letzte in Ihrem Workflow auftreten. Wenn die Aktion an einer anderen Stelle angezeigt wird, führt Azure Logic Apps die Aktion trotzdem erst aus, wenn alle anderen Aktionen beendet sind.
Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource (Verbrauch).
Wählen Sie im Randleistenmenü unter "Entwicklungstools" den Designer aus, um den Workflow zu öffnen.
In diesem Beispielworkflow wird der Anforderung-Auslöser verwendet, der im vorherigen Abschnitt hinzugefügt wurde.
Fügen Sie dem Workflow die integrierte Antwortaktion hinzu, indem Sie die allgemeinen Schritte zum Hinzufügen einer Aktion ausführen.
Fügen Sie im Feld Informationen zur Aktion die erforderlichen Werte für die Antwortnachricht hinzu.
Eigenschaftenname JSON-Eigenschaftenname Erforderlich BESCHREIBUNG Statuscode statusCode
Ja Der in der Antwort zurückzugebende Statuscode Kopfzeilen headers
Nein Ein JSON-Objekt, das einen oder mehrere Header beschreibt, die in die Antwort eingeschlossen werden sollen Text body
Nein Der Antworttext. Wenn Sie in textfeldern auswählen, erhalten Sie die Optionen zum Öffnen der dynamischen Inhaltsliste (Blitzsymbol) oder des Ausdrucks-Editors (Funktionssymbol). Wenn Sie die Liste dynamischer Inhalte auswählen, können Sie Ausgaben auswählen, die in früheren Schritten im Workflow verfügbar sind. Wenn Sie ein Schema im Anforderungstrigger angegeben haben, werden die Schemaeigenschaften auch in der Dynamischen Inhaltsliste angezeigt und stehen Ihnen zur Verwendung in Ihrem Workflow zur Verfügung.
Verwenden Sie z. B. im Feld "Kopfzeilen" den Schlüsseltyp als Schlüsselnamen, und legen Sie den Schlüsselwert auf "application/json" fest, wie weiter oben in diesem Artikel erwähnt. Für das Body-Feld können Sie die Liste dynamischer Inhalte öffnen und die Trigger Body-Ausgabe auswählen.
Um die Header im JSON-Format anzuzeigen, wählen Sie Zur Textansicht wechseln aus.
Wenn andere Parameter für die Aktion vorhanden sind, öffnen Sie die Liste der erweiterten Parameter , und wählen Sie die gewünschten Parameter aus.
Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Testen des Workflows
Um den Workflow auszulösen, senden Sie eine HTTP-Anforderung an die FÜR den Anforderungstrigger generierte URL, einschließlich der Methode, die der Anforderungsauslöser erwartet, mithilfe Des HTTP-Anforderungstools und seiner Anweisungen.
Weitere Informationen zur zugrunde liegenden JSON-Definition des Triggers und zum Aufrufen dieses Triggers finden Sie in den folgenden Artikeln: Anforderungstriggertyp und Aufruf, Trigger oder Schachteln von Workflows mit HTTP-Endpunkten in Azure Logic Apps.
Sicherheit und Authentifizierung
In einem Standardlogik-App-Workflow, der mit dem Anforderungstrigger (aber nicht mit einem Webhook-Trigger) beginnt, können Sie die Azure Functions-Bereitstellung für die Authentifizierung eingehender Aufrufe verwenden, die an den Endpunkt gesendet werden, der durch diesen Trigger mithilfe einer verwalteten Identität erstellt wurde. Diese Bereitstellung wird auch als Easy Auth bezeichnet. Weitere Informationen finden Sie unter Trigger-Workflows in Standardlogik-Apps mit Easy Auth.
Weitere Informationen zu Sicherheit, Autorisierung und Verschlüsselung für eingehende Aufrufe an Ihren Logik-App-Workflow, z. B. Transport Layer Security (TLS), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), Verfügbarmachen Ihrer Logik-App mit Azure API Management oder Einschränken der IP-Adressen, die eingehende Anrufe stammen, finden Sie unter Access für eingehende Aufrufe zu anforderungsbasierten Triggern.