Teilen über


Empfangen und Beantworten eingehender HTTPS-Aufrufe an Workflows in Azure Logic Apps

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

In dieser Anleitung wird gezeigt, wie Sie einen Logik-App-Workflow erstellen, der eine eingehende HTTPS-Anforderung oder einen Anruf von einem anderen Dienst mithilfe des integrierten Triggers "Anforderung" empfangen und verarbeiten kann. Wenn Ihr Workflow diesen Trigger verwendet, können Sie dann mithilfe der integrierten Antwortaktion auf die HTTPS-Anforderung reagieren.

Hinweis

Die Antwortaktion funktioniert nur, wenn Sie den Anforderungstrigger verwenden.

In dieser Liste werden beispielsweise einige Aufgaben beschrieben, die Ihr Workflow ausführen kann, wenn Sie den Anforderungstrigger und die Antwortaktion verwenden:

  • Empfangen von und Antworten auf eine HTTPS-Anforderung von Daten in einer lokalen Datenbank.

  • Empfangen und Beantworten einer HTTPS-Anforderung, die von einem anderen Logik-App-Workflow gesendet wird.

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

  • Der Logik-App-Workflow, in dem Sie die eingehende HTTPS-Anforderung empfangen möchten. Um Ihren Workflow mit einem Anforderung-Trigger zu starten, müssen Sie mit einem leeren Workflow beginnen. Um die Response-Aktion zu verwenden, muss Ihr Workflow mit dem Anforderung-Trigger beginnen.

Hinzufügen eines Anforderungstriggers

Der Anforderungstrigger erstellt einen manuell aufrufbaren Endpunkt, der nur eingehende Anforderungen über HTTPS verarbeitet. Wenn der Aufrufer eine Anforderung an diesen Endpunkt sendet, wird der Anforderungstrigger ausgelöst und führt den Workflow aus. Informationen zum Aufrufen dieses Triggers finden Sie unter Aufrufen, Triggern oder Verschachteln von Workflows mit HTTPS-Endpunkten in Azure Logic Apps.

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

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den integrierten Anforderungstrigger namens "Wenn eine HTTP-Anforderung empfangen wird" zu suchen und hinzuzufügen.

  3. Geben Sie nach dem Anzeigen des Triggerinformationsfelds die folgenden Informationen an:

    Name der Eigenschaft JSON-Eigenschaftenname Erforderlich Beschreibung
    HTTP-POST-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 Anforderungauslösers 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 showing Consumption workflow and Request trigger with example 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 eine Erinnerung an, den Content-Type-Header in Ihre Anforderung aufzunehmen und diesen Header-Wert auf application/json festzulegen. Weitere Informationen finden Sie unter Behandeln von Inhaltstypen.

    Screenshot showing Consumption workflow, Request trigger, and reminder to include

    Das folgende Beispiel zeigt, wie der Content-Type-Header im JSON-Format angezeigt wird:

    {
       "Content-Type": "application/json"
    }
    

    Zum Generieren eines JSON-Schemas, das auf der erwarteten Nutzlast (Daten) basiert, können Sie ein Tool wie z. B. JSONSchema.net verwenden oder die folgenden Schritte ausführen:

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

      Screenshot showing Consumption workflow, Request trigger, and

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

      Screenshot showing Consumption workflow, Request trigger, and sample payload entered to generate schema.

      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"
            }
         }
      }
      
  4. 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 Eigenschaft addtionalProperties hinzu und setzen Sie den Wert auf false.

      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. Klicken Sie auf der Titelleiste des Anforderungstriggers auf die Schaltfläche mit den Auslassungspunkten (...).

    3. Aktivieren Sie in den Einstellungen des Triggers die Schemavalidierung, und wählen Sie Fertig aus.

      Wenn der Anforderungstext des eingehenden Aufruf nicht mit Ihrem Schema übereinstimmt, gibt der Trigger einen HTTP 400 Bad Request-Fehler zurück.

  5. Um dem Trigger weitere Eigenschaften oder Parameter hinzuzufügen, öffnen Sie die Liste Neuen Parameter hinzufügen und wählen Sie die Parameter aus, die Sie hinzufügen möchten.

    Name der Eigenschaft JSON-Eigenschaftenname Erforderlich BESCHREIBUNG
    Methode method Nein Die Methode, die die eingehende Anforderung zum Aufrufen der Logik-App verwenden muss
    Relativer Pfad relativePath Nein Der relative Pfad für den Parameter, der von der Endpunkt-URL der Logik-App akzeptiert werden kann

    Im folgenden Beispiel wird die Eigenschaft Methode hinzugefügt:

    Screenshot showing Consumption workflow, Request trigger, and adding the

    Die Eigenschaft Methode wird im Trigger angezeigt, sodass Sie eine Methode aus der Liste auswählen können.

    Screenshot showing Consumption workflow, Request trigger, and the

  6. Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie in 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.

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

    Screenshot showing Consumption workflow, Request trigger, and URL copy button selected.

    Hinweis

    Wenn Sie das Hash- oder Nummernzeichen (#) im URI verwenden möchten, wenn Sie einen Aufruf an den Anforderungstrigger 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, Autorisierung und Verschlüsselung für eingehende Aufrufe an Ihren Workflow, z . B. Transport Layer Security (TLS),zuvor bekannt als Secure Sockets Layer (SSL), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), Verfügbarmachen Ihrer Logik-App-Ressource mit Azure API Management oder Einschränken der IP-Adressen, die eingehende Anrufe stammen, finden Sie unter Sicherer Zugriff und Daten – Zugriff für eingehende Aufrufe zu anforderungsbasierten Triggern.

Triggerausgaben

Die folgende Tabelle listet die Ausgaben des Anforderung-Triggers auf:

JSON-Eigenschaftenname Datentyp Beschreibung
headers Object Ein JSON-Objekt, das die Header aus der Anforderung beschreibt
Text Object Ein JSON-Objekt, das den Textinhalt aus der Anforderung beschreibt

Hinzufügen einer Antwortaktion

Wenn Sie den Anforderungstrigger zum Empfangen eingehender Anforderungen verwenden, können Sie die Antwort modellieren und die Nutzlastergebnisse mithilfe der integrierten Aktion Antwort an den Aufrufer zurücksenden, die nur mit dem Anforderungstrigger funktioniert. Diese Kombination aus dem Anforderungstrigger und der Antwortaktion erstellt die Anforderungs-/Antwortmuster. Außer innerhalb von Foreach-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 Header enthält, entfernt Azure Logic Apps diese Header 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 davon abhält, Workflows mit einer Antwortaktion mit diesen Headern zu speichern.

    • Allow
    • Content-*-Header mit Ausnahme von Content-Disposition, Content-Encoding und Content-Type, wenn Sie POST- und PUT-Vorgänge verwenden, aber nicht für GET-Vorgänge
    • 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. Führen Sie im Workflow-Designer die folgenden allgemeinen Schritte aus, um die integrierte Antwortaktion namens "Antwort" zu suchen und hinzuzufügen.

    Der Einfachheit halber zeigen die folgenden Beispiele einen reduzierten Anforderung-Trigger.

  2. Fügen Sie im Aktionsinformationsfeld die erforderlichen Werte für die Antwortnachricht hinzu.

    Name der Eigenschaft JSON-Eigenschaftenname Erforderlich BESCHREIBUNG
    Statuscode statusCode Ja Der in der Antwort zurückzugebende Statuscode
    Headers 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, wird die dynamische Inhaltsliste automatisch geöffnet. Anschließend können Sie Token auswählen, die alle verfügbaren Ausgaben aus vorherigen Schritten im Workflow darstellen. Die Eigenschaften aus dem von Ihnen angegebenen Schema werden auch in dieser dynamischen Inhaltsliste angezeigt. Sie können diese Eigenschaften auswählen, die in Ihrem Workflow verwendet werden sollen.

    Fügen Sie z. B. im Feld "Kopfzeilen" den Schlüsseltyp als Schlüsselnamen ein, und legen Sie den Schlüsselwert auf "application/json" als Erwähnung weiter oben in diesem Artikel fest. Für das Feld Text können Sie die Ausgabe des Triggertexts aus der Liste mit dynamischen Inhalten auswählen.

    Screenshot showing Azure portal, Consumption workflow, and Response action information.

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

    Screenshot showing Azure portal, Consumption workflow, and Response action headers in

  3. Wenn Sie weitere Eigenschaften für die Aktion hinzufügen möchten, z. B. ein JSON-Schema für den Antworttext, wählen Sie in der Liste "Neue Parameter hinzufügen" die Parameter aus, die Sie hinzufügen möchten.

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

Testen Ihres Workflows

Senden Sie zum Testen Ihres Workflows eine HTTP-Anforderung an die generierte URL. Zum Senden der HTTP-Anforderung kann beispielsweise ein Tool wie Postman verwendet werden. Weitere Informationen zur zugrunde liegenden JSON-Definition des Triggers und zum Aufzurufen dieses Triggers finden Sie in den Themen Anforderungstriggertyp und unter Aufrufen, Auslösen oder Schachteln von Workflows mit HTTP-Endpunkten in Azure Logic Apps.

Sicherheit und Authentifizierung

In einem Standard-Logik-App-Workflow, der mit dem Anforderungstrigger beginnt (aber keinem Webhooktrigger), können Sie die Azure Functions-Bereitstellung für die Authentifizierung eingehender Aufrufe, die an den Endpunkt gesendet wurden, der durch diesen Trigger erstellt wurde, mithilfe einer verwalteten Identität verwenden. Diese Bereitstellung wird auch als „Easy Auth“ (einfache Authentifizierung) bezeichnet. Weitere Informationen hierzu finden Sie unter Auslösen von Workflows in Standard-Logik-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), zuvor bekannt als Secure Sockets Layer (SSL), 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 Sicherer Zugriff und Daten – Zugriff für eingehende Anrufe zu anforderungsbasierten Triggern.

Nächste Schritte