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:
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.
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.
Öffnen Sie im Azure-Portal Ihre Logik-App und einen leeren Workflow im Designer.
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.
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.
Nachdem der Designer die von der Swagger-Datei beschriebenen Vorgänge anzeigt, wählen Sie den Vorgang aus, den Sie verwenden möchten.
Geben Sie die je nach dem ausgewählten Vorgang variierenden Werte für die Triggerparameter an, die Sie in den Endpunktaufruf aufnehmen möchten.
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.
Ö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.
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.
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 Logik-App-Ressource und den Workflow im Designer.
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.
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.
Nachdem der Designer die von der Swagger-Datei beschriebenen Vorgänge anzeigt, wählen Sie den Vorgang aus, den Sie verwenden möchten.
Geben Sie die je nach dem ausgewählten Vorgang variierenden Werte für die Aktionsparameter an, die Sie in den Endpunktaufruf aufnehmen möchten.
Ö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.
Fahren Sie mit dem Erstellen Ihres Workflows fort, indem Sie alle weiteren gewünschten Aktionen hinzufügen, die ausgeführt werden sollen.
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 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
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. |