Anwendungsfälle für API Gateway - Amazon API Gateway

Anwendungsfälle für API Gateway

API Gateway zur Erstellung von HTTP-APIs verwenden

Mit HTTP-APIs können Sie REST-fähige APIs mit geringerer Latenzzeit und zu geringeren Kosten als REST-APIs erstellen.

Sie können HTTP-APIs verwenden, um Anfragen an AWS Lambda-Funktionen oder an einen öffentlich routingfähigen HTTP-Endpunkt zu senden.

Beispielsweise können Sie eine HTTP-API erstellen, die in eine Lambda-Funktion auf dem Backend integriert wird. Wenn ein Client Ihre API aufruft, sendet API Gateway die Anfrage an die Lambda-Funktion und gibt die Antwort der Funktion an den Client zurück.

HTTP-APIs unterstützen die OpenID Connect- und OAuth 2.0-Autorisierung. Sie verfügen über integrierten Support für Cross-Origin Resource Sharing (CORS) und automatische Bereitstellungen.

Weitere Informationen hierzu finden Sie unter Auswahl zwischen HTTP-APIs und REST-APIs.

API Gateway zur Erstellung von REST-APIs verwenden

Eine API Gateway-REST-API setzt sich aus Ressourcen und Methoden zusammen. Eine Ressource ist eine logische Entität, auf die eine App über einen Ressourcenpfad zugreifen kann. Eine Methode entspricht einer REST-API-Anforderung, die vom API-Benutzer übermittelt wird, und der Antwort, die an den Benutzer zurückgegeben wird.

So könnte beispielsweise /incomes der Pfad der Ressource sein, die das Einkommen des App-Benutzers angibt. Eine Ressource kann für eine oder mehrere Operationen verwendet werden, die durch geeignete HTTP-Verben wie GET, POST, PUT, PATCH und DELETE definiert sind. Eine Kombination aus einem Ressourcenpfad und einer Operation identifiziert eine Methode der API. Die Methode POST /incomes beispielsweise könnte das Einkommen des Aufrufers hinzufügen, und die Methode GET /expenses könnte die vom Aufrufer angegebenen Ausgaben abfragen.

Die App benötigt keine Informationen dazu, wo auf dem Backend die angeforderten Daten gespeichert und abgerufen werden. Bei API Gateway-REST-APIs wird das Frontend durch Methoden-Anfragen und Methoden-Antworten gekapselt. Die API arbeitet über Integrationsanforderungen und Integrationsantworten mit dem Backend zusammen.

Wenn beispielsweise DynamoDB das Backend bildet, richtet der API-Entwickler die Integrationsanforderung so ein, dass die eingehende Methodenanforderung an das gewählte Backend weitergeleitet wird. Die Konfiguration umfasst Spezifikationen für eine geeignete DynamoDB-Aktion, eine erforderliche IAM-Rolle sowie -Richtlinien und die erforderlichen Eingabedaten. Das Backend gibt das Ergebnis als Integrationsantwort an API Gateway zurück.

Um die Integrationsantwort auf eine geeignete Methodenantwort (eines HTTP-Statuscodes) an den Client weiterzuleiten, können Sie die Integrationsantwort so konfigurieren, dass die erforderlichen Antwortparameter von der Integration der Methode zugewiesen werden. Falls erforderlich, übertragen Sie anschließend das Backend-Ausgabedatenformat in das für das Frontend erforderliche Format. API Gateway bietet die Möglichkeit, ein Schema oder Modell für die Nutzlast zu definieren, um die Einrichtung der Textzuweisungsvorlage zu erleichtern.

API Gateway bietet REST-API-Verwaltungsfunktionen wie die folgenden:

  • Unterstützung für die Generierung von SDKs und die Erstellung einer API-Dokumentation mit API Gateway-Erweiterungen für OpenAPI

  • Drosselung von HTTP-Anforderungen

Verwendung von API Gateway zum Erstellen von WebSocket-APIs

In einer WebSocket-API können sowohl der Client als auch der Server jederzeit Nachrichten untereinander austauschen. Backend-Server können problemlos Daten an verbundene Benutzer und Geräte übertragen, ohne komplexe Abfragemechanismen implementieren zu müssen.

Beispielsweise könnten Sie eine serverlose Anwendung mit einer API-Gateway-WebSocket-API und AWS Lambda erstellen, um Nachrichten an einzelne Benutzer oder Benutzergruppen in einem Chat-Raum zu senden bzw. von ihnen zu empfangen. Oder Sie könnten Backend-Services wie AWS Lambda, Amazon Kinesis oder einen HTTP-Endpunkt basierend auf dem Nachrichteninhalt aufrufen.

Sie können mit API Gateway-WebSocket-APIs sichere Echtzeit-Kommunikationsanwendungen erstellen, ohne Server zur Verwaltung von Verbindungen oder für einen umfangreichen Datenaustausch bereitstellen oder verwalten zu müssen. Zu vorgesehenen Anwendungsfällen gehören Echtzeit-Anwendungen wie die folgenden:

  • Chat-Anwendungen

  • Echtzeit-Dashboards, wie z. B. Aktienticker

  • Echtzeit-Warnungen und -Benachrichtigungen

API Gateway bietet WebSocket-API-Verwaltungsfunktionalität wie die folgende:

  • Überwachung und Drosselung von Verbindungen und Nachrichten

  • Verwendung von AWS X-Ray zur Nachverfolgung von Nachrichten auf dem Weg durch die APIs zu Backend-Services

  • Einfache Integration in HTTP/HTTPS-Endpunkte

Von wem wird API Gateway verwendet?

Es gibt zwei Arten von Entwicklern, die API Gateway verwenden: API-Entwickler und Anwendungsentwickler.

Ein API-Entwickler erstellt eine API und stellt sie bereit, um die erforderliche Funktionalität in API Gateway zu aktivieren. API-Entwickler müssen im AWS-Konto, in dessen Besitz sich die API befindet, als IAM-Benutzer eingerichtet sein.

Ein App-Entwickler erstellt eine funktionsfähige Anwendung zum Aufrufen von AWS-Services, indem er eine WebSocket- oder REST-API aufruft, die von einem API-Entwickler in API Gateway erstellt wurde.

Der App-Entwickler ist der Kunde des API-Entwicklers. Der App-Entwickler muss kein AWS-Konto haben, vorausgesetzt, dass die API entweder keine IAM-Berechtigungen erfordert oder die Autorisierung von Benutzern durch Drittanbieter von Verbundidentitäten unterstützt, die vom Amazon-Cognito-Benutzerpool-Identitätsverbund unterstützt werden. Zu diesen Identitätsanbietern gehören Amazon, Amazon Cognito-Benutzerpools, Facebook und Google.

API Gateway-API erstellen und verwalten

Ein API-Entwickler arbeitet mit der API Gateway-Service-Komponente für die API-Verwaltung (apigateway), um eine API zu erstellen, zu konfigurieren und bereitzustellen.

Als API-Entwickler können Sie eine API erstellen und verwalten, indem Sie die unter Erste Schritte mit API Gateway beschriebene API Gateway-Konsole verwenden oder die API-Referenzen aufrufen. Es gibt mehrere Möglichkeiten, diese API aufzurufen. Dazu gehören die Verwendung der AWS Command Line Interface (AWS CLI) oder die Verwendung eines AWS SDK. Außerdem ist die API-Erstellung auch mittels AWS CloudFormation-Vorlagen oder (im Falle von REST- und HTTP-APIs) API Gateway-Erweiterungen für OpenAPI arbeiten möglich.

Eine Liste der Regionen, in denen API Gateway verfügbar ist, sowie der zugehörigen Kontrolldienstendpunkte finden Sie unter Amazon API Gateway-Endpunkte und -Kontingente.

API Gateway-API aufrufen

Ein Anwendungsentwickler arbeitet mit der API Gateway Service-Komponente für die API-Ausführung (execute-api), um eine API aufzurufen, die in API Gateway erstellt oder bereitgestellt wurde. Die zugrunde liegenden Programmierentitäten werden von der erstellten API bereitgestellt. Es gibt mehrere Methoden für den Aufruf einer solchen API. Weitere Informationen hierzu finden Sie unter REST-API im Amazon API Gateway aufrufen und Aufrufen einer WebSocket-API.