Verbinden oder 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 integrierten HTTP + Swagger-Vorgänge unterstützen derzeit nur OpenAPI 2.0, nicht OpenAPI 3.0.

Voraussetzungen

  • Ein 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 Ziel-REST-API-Endpunkt 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:

    Die Beispiele in diesem Leitfaden verwenden Azure AI Face, das einen Azure AI Services-Ressourcenschlüssel und eine Region erfordert.

    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 Workflow der Verbrauchs- oder Standardlogik-App, aus dem 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. In diesem Beispiel wird der HTTP +Swagger-Trigger als erster Vorgang verwendet.

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 Standardlogik-App-Ressource und einen leeren Workflow im Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den HTTP-Trigger mit dem Namen HTTP + Swagger hinzuzufügen.

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

    Stellen Sie sicher, dass Sie Ihren eigenen Endpunkt verwenden oder erstellen. Als Beispiel verwenden diese Schritte nur die folgende Azure AI Face API Swagger URL, die sich in der Region West USA befindet und möglicherweise nicht in Ihrem spezifischen Trigger funktioniert:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

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

    Im folgenden Beispiel wird der Trigger in Face umbenannt – Erkennen , sodass der Trigger einen aussagekräftigeren Namen hat.

    Screenshot shows Standard workflow, Face - Detect trigger, and list with Swagger operations.

  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. Geben Sie mithilfe einer Wiederholung an, wie oft der Trigger den Endpunkt aufrufen soll.

  6. Um weitere verfügbare Parameter hinzuzufügen, öffnen Sie die Liste "Erweiterte Parameter ", 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. Erstellen Sie den Workflow mit den Aktionen, die Sie ausführen möchten, wenn der Auslöser ausgelöst wird.

  8. 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 Standard-Logik-App und deren Workflow im Workflow-Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um die HTTP-Aktion " HTTP + Swagger" hinzuzufügen.

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

    Stellen Sie sicher, dass Sie Ihren eigenen Endpunkt verwenden oder erstellen. Als Beispiel verwenden diese Schritte nur die folgende Azure AI Face API Swagger URL, die sich in der Region West USA befindet und möglicherweise nicht in Ihrem spezifischen Trigger funktioniert:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named Face - Detect, and action named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

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

    Im folgenden Beispiel wird die Aktion in "Gesicht" umbenannt – Identifizieren , sodass die Aktion einen aussagekräftigeren Namen hat.

    Screenshot shows Standard workflow, Face - Identify action, and list with Swagger operations.

  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. Um weitere verfügbare Parameter hinzuzufügen, öffnen Sie die Liste "Erweiterte Parameter ", 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 der Erstellung ihres Workflows mit allen anderen Aktionen fort, die Sie ausführen möchten.

  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 dann Speichern aus.

    Eigenschaft Wert
    Zulässige Ursprünge *
    Zulässige Methoden GET, HEADPUT
    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

Dieser Abschnitt enthält weitere Informationen zu den Ausgaben eines HTTP +Swagger-Triggers und einer Aktion.

Ausgaben

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

Eigenschaftenname Type BESCHREIBUNG
headers Object Die Header aus der Anforderung
Text Object Das Objekt mit dem Inhalt des Texts aus der Anforderung
Statuscode Integer 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.

Nächste Schritte