Freigeben über


Aufrufen von REST-API-Endpunkten aus Workflows in Azure Logic Apps mithilfe von HTTP-Swagger

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

Um eine REST-API aus Ihrem Workflow in Azure Logic Apps aufzurufen, ohne eine Anforderung manuell zu erstellen, fügen Sie dem Workflow den systemeigenen, integrierten HTTP + Swagger-Trigger oder die Aktion hinzu. Diese Vorgänge rufen einen beliebigen REST-API-Endpunkt auf, indem eine Swagger-Datei verwendet wird, um aufrufbare Vorgänge zu ermitteln und strukturierte Eingaben und Ausgaben abzurufen.

Der HTTP + Swagger-Trigger und die Aktion funktionieren genauso wie der HTTP-Trigger und die Aktion, aber sie bieten eine bessere Erfahrung im Workflow-Designer, indem sie die API-Struktur und -Ausgaben verfügbar machen, die von der Swagger-Datei beschrieben werden.

In diesem Artikel wird gezeigt, wie Sie den HTTP +Swagger-Trigger und die Aktion in Ihrem Workflow hinzufügen und verwenden.

Begrenzungen

Die integrierten HTTP + Swagger-Vorgänge unterstützen nur OpenAPI 2.0, nicht OpenAPI 3.0.

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Erhalten Sie ein kostenloses Azure-Konto.

  • Die URL für die Swagger-Datei, die den zu aufrufenden Ziel-REST-API-Endpunkt beschreibt.

    Normalerweise muss der REST-Endpunkt die folgenden Kriterien erfüllen, damit der Trigger oder die Aktion funktioniert:

    • Die Swagger-Datei wird auf einer öffentlich zugänglichen HTTPS-URL gehostet.

    • Die Datei "Swagger" enthält eine operationID Eigenschaft für jeden Vorgang in der API-Definition. Wenn nicht, zeigt der Workflow-Designer nur den letzten Vorgang in der Datei "Swagger" an.

    • Die Swagger-Datei muss Cross-Origin Resource Sharing (CORS) aktivieren.

      Hinweis

      Um auf eine Swagger-Datei zu verweisen, die nicht gehostet wird oder die Sicherheits- und Ursprungsanforderungen nicht erfüllt, laden Sie die Swagger-Datei in einen BLOB-Container in ein Azure-Speicherkonto hoch, und aktivieren Sie CORS für dieses Speicherkonto.

  • Ein Verbrauch- oder Standardlogik-App-Workflow, in dem Sie den REST-API-Endpunkt aufrufen möchten.

    Um den Workflow mit dem HTTP + Swagger-Trigger zu starten, erstellen Sie eine Logic App-Ressource mit einem leeren Workflow. Um die HTTP+Swagger-Aktion zu verwenden, starten Sie Ihren Workflow mit jedem Trigger, der am besten für Ihr Geschäftsszenario geeignet ist.

Hinzufügen eines „HTTP + Swagger“-Triggers

Dieser Trigger sendet eine HTTP-Anforderung an die URL für eine Swagger-Datei, die eine REST-API beschreibt. Der Trigger gibt eine Antwort zurück, die den Inhalt der Swagger-Datei an den Workflow enthält.

Um einen Abruftrigger zu implementieren, folgen Sie dem Abruftriggermuster.

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

  2. Öffnen Sie im Designer Ihren leeren Workflow.

  3. Je nachdem, ob Ihr Workflow "Verbrauch" oder "Standard" lautet, führen Sie die allgemeinen Schritte aus, um den HTTP-Trigger mit dem Namen HTTP + Swagger hinzuzufügen.

  4. Geben Sie im Feld "Swagger-Endpunkt " die URL für die Datei "Swagger" ein, und wählen Sie "Aktion hinzufügen" aus.

    Das folgende Beispiel zeigt ein Beispiel für ein Swagger-URL-Format. Ihre URL verwendet möglicherweise ein anderes Format.

    Screenshot des Azure-Portals, des Workflow-Designers und des Triggerbereichs

    Im Bereich "Triggerinformation" werden die Vorgänge in der Datei "Swagger" angezeigt.

  5. Wählen Sie den gewünschten Vorgang aus.

  6. Geben Sie für den ausgewählten Vorgang die Parameterwerte ein, die im REST-API-Aufruf verwendet werden sollen.

    Die Parameter variieren je nach ausgewähltem Vorgang.

  7. Wenn der Trigger nach einem Zeitplan ausgeführt wird, richten Sie die Wiederholung ein, um festzulegen, wann der Trigger die REST-API aufruft.

  8. Wenn andere Parameter vorhanden sind, öffnen Sie die Liste der erweiterten Parameter , und wählen Sie die gewünschten Parameter aus.

    Weitere Informationen zur Authentifizierung finden Sie unter Hinzufügen der Authentifizierung zu ausgehenden Anrufen.

  9. Fahren Sie mit dem Erstellen des Workflows fort und fügen Sie Aktionen hinzu, die ausgeführt werden sollen, wenn der Auslöser aktiviert wird.

  10. Speichern Sie Ihren Workflow, wenn Sie fertig sind. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Hinzufügen einer „HTTP + Swagger“-Aktion

Diese Aktion sendet eine HTTP-Anforderung an die URL für eine Swagger-Datei, die eine REST-API beschreibt. Die Aktion gibt eine Antwort zurück, die den Inhalt der Swagger-Datei an den Workflow enthält.

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

  2. Öffnen Sie im Designer Ihren leeren Workflow.

  3. Je nachdem, ob Ihr Workflow "Verbrauch" oder "Standard" lautet, führen Sie die allgemeinen Schritte aus, um die HTTP-Aktion"HTTP + Swagger" hinzuzufügen.

  4. Geben Sie im Feld "Swagger-Endpunkt " die URL für die Datei "Swagger" ein, und wählen Sie "Aktion hinzufügen" aus.

    Das folgende Beispiel zeigt ein Beispiel für ein Swagger-URL-Format. Ihre URL verwendet möglicherweise ein anderes Format.

    Screenshot des Azure-Portals, des Workflow-Designers und des Aktionsbereichs

    Der Aktionsinformationsbereich zeigt die Vorgänge in der Datei "Swagger" an.

  5. Wählen Sie den gewünschten Vorgang aus.

  6. Geben Sie für den ausgewählten Vorgang die Parameterwerte ein, die im REST-API-Aufruf verwendet werden sollen.

    Die Parameter variieren je nach ausgewähltem Vorgang.

  7. Wenn andere Parameter vorhanden sind, öffnen Sie die Liste der erweiterten Parameter , und wählen Sie die gewünschten Parameter aus.

    Weitere Informationen zur Authentifizierung finden Sie unter Hinzufügen der Authentifizierung zu ausgehenden Anrufen.

  8. Erstellen Sie den Workflow mit Aktionen, die ausgeführt werden sollen, wenn der Auslöser ausgelöst wird.

  9. Speichern Sie Ihren Workflow, wenn Sie fertig sind. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Ausgaben von HTTP + Swagger-Vorgängen

Dieser Abschnitt enthält weitere Informationen zu den Ausgaben des HTTP +Swagger-Triggers und der Aktion. Der HTTP +Swagger-Vorgang gibt die folgenden Informationen zurück:

Eigenschaftenname Typ BESCHREIBUNG
headers Objekt Die Kopfzeilen aus der Anforderung.
body Objekt Das Objekt mit dem Inhalt des Texts aus der Anforderung.
Statuscode Ganzzahl 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.

Hosten des Swaggers in Azure Storage

Sie können weiterhin auf eine Swagger-Datei verweisen, die nicht gehostet wird oder die die Sicherheitsanforderungen oder ursprungsübergreifenden Anforderungen nicht erfüllt. Laden Sie die Swagger-Datei in einen BLOB-Container in einem Azure-Speicherkonto hoch, und aktivieren Sie CORS für das Speicherkonto.

Um Swagger-Dateien in Azure Storage zu erstellen, einzurichten und zu speichern, führen Sie diese Schritte aus:

  1. Erstellen Sie im Azure-Portal ein Azure-Speicherkonto.

  2. Aktivieren Sie CORS für das Blob, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie auf der Randleiste des Speicherkontos unter "Einstellungen"CORS aus.

    2. Geben Sie auf der Registerkarte Blob-Dienst die folgenden Werte ein, und wählen Sie "Speichern" aus.

      Parameter Wert
      Zulässige Ursprünge *
      Zulässige Methoden GET, HEADPUT
      Zulässige Header *
      Verfügbar gemachte Header *
      Max. Alter in Sekunden 200

    In diesem Beispiel wird das Azure-Portal verwendet, Sie können jedoch ein Tool wie Azure Storage-Explorer verwenden, um diese Einstellung zu konfigurieren. Informationen zum Automatisieren der Konfiguration finden Sie im PowerShell-Beispielskript.

  3. Erstellen Sie einen BLOB-Container , und führen Sie die folgenden Schritte aus:

    1. Wählen Sie auf der Container-Randleiste die Option "Übersicht" aus.

    2. Wählen Sie auf der Seite "Übersicht" die Option "Zugriffsebene ändern" aus.

    3. Wählen Sie in der Liste Öffentliches ZugriffslevelBlob (nur anonymer Lesezugriff für Blobs) und dann OK aus.

  4. Laden Sie im Azure-Portal oder Azure Storage-Explorer die Swagger-Datei in den BLOB-Container hoch.

  5. Um auf die Datei im Blob-Container zu verweisen, rufen Sie im Azure Storage Explorer die HTTPS-URL im folgenden, zwischen Groß- und Kleinschreibung unterscheidenden Format ab:

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>