Freigeben über


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

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

Um einen REST-API-Endpunkt aus einem Logik-App-Workflow in Azure Logic Apps aufzurufen, können Sie die integrierten HTTP + Swagger-Vorgänge verwenden, um jeden REST-API-Endpunkt über eine Swagger-Datei aufzurufen. Der HTTP + Swagger-Trigger und die Aktion funktionieren wie HTTP-Trigger und Aktion, lassen sich im Workflow-Designer aber besser verwenden, da sie die API-Struktur und Ausgaben verfügbar machen, die in der Swagger-Datei beschrieben werden. Um einen Abruftrigger zu implementieren, verwenden Sie das unter Erstellen benutzerdefinierter APIs zum Aufrufen anderer APIs, Dienste und Systeme aus Logik-Apps-Workflows beschriebene Abrufmuster.

Begrenzungen

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

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie sich für ein kostenloses Azure-Konto registrieren.

  • Die URL für die Swagger-Datei, die den REST-API-Zielendpunkt beschreibt, den Sie aufrufen möchten

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

    Hinweis

    Um auf eine Swagger-Datei zu verweisen, die nicht gehostet wird oder nicht den Sicherheitsanforderungen und Anforderungen für die Ressourcenfreigabe zwischen verschiedenen Ursprüngen entspricht, können Sie die Swagger-Datei in einen Blobcontainer in einem Azure-Speicherkonto hochladen und CORS auf diesem Speicherkonto aktivieren, sodass Sie auf die Datei verweisen können.

  • Der Verbrauchs- oder Standard-Logik-App-Workflow, von dem aus Sie den Zielendpunkt aufrufen möchten. Um mit dem HTTP + Swagger-Trigger zu beginnen, erstellen Sie eine Logik-App-Ressource mit einem leeren Workflow. Um die HTTP + Swagger-Aktion zu verwenden, starten Sie Ihren Workflow mit einem beliebigen Trigger. Dieses Beispiel verwendet den HTTP + Swagger-Trigger als erste Operation.

Hinzufügen eines „HTTP + Swagger“-Triggers

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

  1. Öffnen Sie im Azure-Portal Ihre Logik-App und einen leeren Workflow im Designer.

  2. Je nachdem, ob Sie über einen Verbrauchs- oder Standardworkflow verfügen, führen Sie die folgenden allgemeinen Schritte aus, um den HTTP-Trigger namens HTTP + Swagger hinzuzufügen.

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

    Im folgenden Beispiel wird eine nicht funktionsfähige Swagger-URL verwendet. Ihre URL verwendet möglicherweise ein anderes Format.

    Screenshot des Workflow-Designers mit ausgewähltem Bereich „Auslöser hinzufügen“ und „Informationsbereich“ für den Trigger „HTTP + Swagger“. Die Swagger-Endpunkteigenschaft ist auf eine Beispiel-URL festgelegt.

  4. Nachdem der Designer die von der Swagger-Datei beschriebenen Vorgänge anzeigt, wählen Sie den Vorgang aus, den Sie verwenden möchten.

  5. Geben Sie die je nach dem ausgewählten Vorgang variierenden Werte für die Triggerparameter an, die Sie in den Endpunktaufruf aufnehmen möchten.

  6. Wenn der Auslöser erfordert, dass Sie einen Schießzeitplan angeben, geben Sie die Anzahl der Male an, wie oft der Trigger den Endpunkt aufrufen soll.

  7. Öffnen Sie zum Hinzufügen weiterer verfügbarer Parameter die Liste Erweiterte Parameter hinzufügen, und wählen Sie die gewünschten Parameter aus.

    Weitere Informationen zu verfügbaren Authentifizierungstypen für HTTP und Swagger finden Sie unter Hinzufügen von Authentifizierung zu ausgehenden Aufrufen.

  8. Fahren Sie mit dem Erstellen des Workflows fort, und fügen Sie die Aktionen hinzu, die bei Auslösung des Triggers ausgeführt werden sollen.

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

Hinzufügen einer „HTTP + Swagger“-Aktion

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

  1. Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource und den Workflow im Designer.

  2. Je nachdem, ob Sie über einen Verbrauchs- oder Standardworkflow verfügen, führen Sie die folgenden allgemeinen Schritte aus, um den HTTP-Aktion namens HTTP + Swagger hinzuzufügen.

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

    Im folgenden Beispiel wird eine nicht funktionsfähige Swagger-URL verwendet. Ihre URL verwendet möglicherweise ein anderes Format.

    Screenshot des Workflow-Designers mit dem Trigger namens „Fabrikam-API“ – Erstellen von Reihenfolge und Öffnen des Informationsbereichs für HTTP + Swagger-Aktion. Die Swagger-Endpunkteigenschaft ist auf eine URL festgelegt.

  4. Nachdem der Designer die von der Swagger-Datei beschriebenen Vorgänge anzeigt, wählen Sie den Vorgang aus, den Sie verwenden möchten.

  5. Geben Sie die je nach dem ausgewählten Vorgang variierenden Werte für die Aktionsparameter an, die Sie in den Endpunktaufruf aufnehmen möchten.

  6. Öffnen Sie zum Hinzufügen weiterer verfügbarer Parameter die Liste Erweiterte Parameter hinzufügen, und wählen Sie die gewünschten Parameter aus.

    Weitere Informationen zu verfügbaren Authentifizierungstypen für HTTP und Swagger finden Sie unter Hinzufügen von Authentifizierung zu ausgehenden Aufrufen.

  7. Fahren Sie mit dem Erstellen Ihres Workflows fort, indem Sie alle weiteren gewünschten Aktionen hinzufügen, die ausgeführt werden sollen.

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

Hosten von Swagger 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 Blobcontainer in einem Azure Storage-Konto hoch, und aktivieren Sie CORS für dieses Speicherkonto. Um Swagger-Dateien in Azure Storage zu erstellen, einzurichten und zu speichern, führen Sie diese Schritte aus:

  1. Erstellen Sie ein Azure-Speicherkonto.

  2. Aktivieren Sie jetzt CORS für das Blob. Wählen Sie im Menü Ihres Speicherkontos CORS aus. Geben Sie auf der Registerkarte Blob-Dienst diese Werte ein, und wählen Sie Speichern aus.

    Eigenschaft Wert
    Zulässige Ursprünge *
    Zulässige Methoden GET, HEAD, PUT
    Zulässige Header *
    Verfügbar gemachte Header *
    Max. Alter (in Sekunden) 200

    Obwohl in diesem Beispiel das Azur-Portal verwendet wird, können Sie ein Tool wie Azure Storage Explorer verwenden oder diese Einstellung automatisch mit diesem PowerShell-Beispielskript konfigurieren.

  3. Erstellen Sie einen Blobcontainer. Wählen Sie im Bereich Übersicht des Containers Zugriffsebene ändern aus. Wählen Sie in der Liste Öffentliche Zugriffsebene den Eintrag Blob (anonymer Lesezugriff nur für Blobs) und dann OK aus.

  4. Laden Sie die Swagger-Datei in den Blobcontainer hoch, entweder mit dem Azure-Portal oder Azure Storage-Explorer.

  5. Um auf die Datei im Blobcontainer zu verweisen, rufen Sie die HTTPS-URL im folgenden Format (Beachtung der Groß-/Kleinschreibung) aus Azure Storage-Explorer ab:

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

Technische Referenz für den Connector

In diesem Abschnitt finden Sie weitere Informationen zu den Ausgaben eines HTTP + Swagger-Triggers und der dazugehörigen Aktion.

Ausgaben

Der HTTP + Swagger-Aufruf gibt die folgenden Informationen zurück:

Eigenschaftenname Type BESCHREIBUNG
headers Objekt Die Header 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.