Freigeben über


Empfangen und Beantworten eingehender HTTPS-Aufrufe, die an Workflows in Azure Logic Apps gesendet werden

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

  • Installieren oder verwenden Sie ein Tool, das HTTP-Anforderungen senden kann, um Ihre Lösung zu testen, z. B.:

    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.

  1. Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource (Verbrauch).

  2. Wählen Sie im Randleistenmenü unter "Entwicklungstools" den Designer aus, um ihren leeren Workflow zu öffnen.

  3. 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.

  4. 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:

    Screenshot des Verbrauchsworkflows und des Anforderungstriggers mit Beispiel-JSON-Schema.

    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 festzulegen application/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:

    1. Wählen Sie im Anforderungstrigger die Option Beispielnutzlast zum Generieren eines Schemas verwenden aus.

      Screenshot mit dem Verbrauchs-Workflow, dem Anforderungsauslöser und der Option, das Schema mithilfe der Beispielnutzlast zu generieren.

    2. Geben Sie die Beispielnutzlast ein, und wählen Sie dann Fertig aus.

      Screenshot des Verbrauchsworkflows, des Anforderungsauslösers und der Beispielnutzlast, die zum Generieren des Schemas eingegeben wurde.

      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"
            }
         }
      }
      
  5. Gehen Sie folgendermaßen vor, um zu überprüfen, ob der eingehende Aufruf einen Anforderungstext enthält, der dem angegebenen Schema entspricht:

    1. 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 die additionalProperties 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
      }
      
    2. Wählen Sie im Designer den Anforderungsauslöser aus. Wählen Sie im daraufhin geöffneten Informationsbereich die Registerkarte Einstellungen aus.

    3. 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.

  6. Wählen Sie aus der Methoden-Liste die Methode aus, die der Trigger für eingehende Anforderungen erwartet.

    Screenshot mit Standard-Workflow, Anfrage-Auslöser und der Methodenliste, die mit einer ausgewählten Methode geöffnet ist.

  7. 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.

  8. 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.

  9. Um die generierte URL zu kopieren, wählen Sie das Kopiersymbol neben der URL aus.

    Screenshot: Verbrauchsworkflow, Anforderungstrigger und ausgewählte Schaltfläche „URL-Kopie“.

    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ßer Content-Disposition, Content-Encoding und Content-Type, wenn Sie POST- und PUT-Operationen verwenden, aber nicht enthalten in GET-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.

  1. Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource (Verbrauch).

  2. 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.

  3. Fügen Sie dem Workflow die integrierte Antwortaktion hinzu, indem Sie die allgemeinen Schritte zum Hinzufügen einer Aktion ausführen.

  4. 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.

    Screenshot des Azure-Portals, des Verbrauchsworkflows und der Antwortaktionsinformationen.

    Um die Header im JSON-Format anzuzeigen, wählen Sie Zur Textansicht wechseln aus.

    Screenshot des Azure-Portals, des Verbrauchsworkflows und der Antwortaktionsheader in der Ansicht „Zu Text wechseln“.

  5. 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.

  6. 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.