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 Swagger-Datei muss auf einer HTTPS-URL gehostet werden, die öffentlich zugänglich ist.
Die Swagger-Datei muss eine operationID-Eigenschaft für jeden Vorgang in der Definition enthalten. Wenn das nicht der Fall ist, zeigt der Connector nur den letzten Vorgang in der Swagger-Datei an.
Für die Swagger-Datei muss Ressourcenfreigabe zwischen verschiedenen Ursprüngen (Cross-Origin Resource Sharing, CORS) aktiviert sein.
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.
Öffnen Sie im Azure-Portal Ihre Standardlogik-App-Ressource und einen leeren Workflow im Designer.
Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den HTTP-Trigger mit dem Namen HTTP + Swagger hinzuzufügen.
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
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.
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.
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.
Erstellen Sie den Workflow mit den Aktionen, die Sie ausführen möchten, wenn der Auslöser ausgelöst wird.
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.
Öffnen Sie im Azure-Portal Ihre Standard-Logik-App und deren Workflow im Workflow-Designer.
Führen Sie im Designer die folgenden allgemeinen Schritte aus, um die HTTP-Aktion " HTTP + Swagger" hinzuzufügen.
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
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.
Geben Sie die je nach dem ausgewählten Vorgang variierenden Werte für die Aktionsparameter an, die Sie in den Endpunktaufruf aufnehmen möchten.
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.
Fahren Sie mit der Erstellung ihres Workflows mit allen anderen Aktionen fort, die Sie ausführen möchten.
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:
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
,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.
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.
Laden Sie die Swagger-Datei in den Blobcontainer hoch, entweder mit dem Azure-Portal oder Azure Storage-Explorer.
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. |