Entwickeln einer REST-API in API Gateway
In Amazon API Gateway erstellen Sie eine REST-API als eine Sammlung programmierbarer Entitäten, die als API Gateway-Ressourcen bekannt ist. Beispiel: Sie können eine RestApi-Ressource verwenden, um eine API darzustellen, die eine Sammlung von Ressourcen-Entitäten enthalten kann.
Jede Resource-Entität kann über eine oder mehrere Methoden-Ressourcen verfügen. Eine Method ist eine eingehende Anfrage, die vom Client übermittelt wird, und kann die folgenden Anfrageparameter enthalten: einen Pfadparameter, einen Header oder einen Abfragezeichenfolgenparameter. Zusätzlich kann die Anfrage, abhängig von der HTTP-Methode, einen Body enthalten. Die Methode definiert, wie der Client auf die exponierte Resource zugreift. Erstellen Sie eine Ressource unter Integration, um die Method mit einem Backend-Endpunkt (auch als Integrationsendpunkt bekannt) zu integrieren. Dadurch wird die eingehende Anforderung an eine bestimmte Integrationsendpunkt-URI weitergeleitet. Falls erforderlich, können Sie Anfrageparameter oder den Anfrage-Body transformieren, um die Anforderungen des Backends zu erfüllen, oder Sie erstellen eine Proxyintegration, bei der API Gateway die gesamte Anfrage in einem standardisierten Format an die Integrationsendpunkt-URI sendet und anschließend die Antwort direkt an den Client weiterleitet.
Sie erstellen eine MethodResponse-Ressource zur Darstellung von Antworten, die vom Client empfangen wurde, und eine IntegrationResponse-Ressource zur Darstellung von Antworten, die durch das Backend zurückgegeben wurde. Verwenden Sie eine Integrationsantwort, um die Backend-Antwortdaten zu transformieren, bevor die Daten an den Client zurückgegeben werden, oder um die Backend-Antwort unverändert an den Client zu übermitteln.
Beispielressource für eine REST-API
Das folgende Diagramm zeigt, wie API Gateway dieses Anfrage-/Antwortmodell für eine HTTP-Proxy- und eine Nicht-Proxy-HTTP-Integration für die Ressource GET /pets implementiert. Der Client sendet den Header x-version:beta an API Gateway und API Gateway sendet den Statuscode 204 an den Client.
In der Nicht-Proxy-Integration führt API Gateway Datentransformationen durch, um die Backend-Anforderungen zu erfüllen, indem die Integrationsanfrage und die Integrationsantwort angepasst werden. Bei einer Nicht-Proxy-Integration können Sie auf den Body in der Methodenanforderung zugreifen, jedoch transformieren Sie ihn in der Integrationsanforderung. Wenn der Integrationsendpunkt eine Antwort mit einem Body zurückgibt, greifen Sie in der Integrationsantwort darauf zu und transformieren ihn. Sie können den Body in der Methodenantwort nicht ändern.
Bei der Proxyintegration ändert der Integrationsendpunkt die Anfrage und Antwort. API Gateway verändert weder die Integrationsanfrage noch die Integrationsantwort und sendet die eingehende Anfrage unverändert an das Backend.
Unabhängig vom Integrationstyp hat der Client eine Anfrage an API Gateway gesendet und API Gateway hat synchron geantwortet.
Die folgenden Beispielausführungsprotokolle zeigen, was API Gateway im vorherigen Beispiel protokollieren würde. Zur besseren Übersicht wurden einige Werte und erste Protokolle entfernt:
Um eine ähnliche API zu importieren und in der AWS Management Console zu testen, sehen Sie sich die Beispiel-API an.
Zusätzliche REST-API-Features für die Entwicklung
API Gateway unterstützt zusätzliche Features für die Entwicklung Ihrer REST-API. Zum Beispiel können Sie, um Ihren Kunden das Verständnis Ihrer API zu erleichtern, Dokumentation für die API bereitstellen. Hierzu fügen Sie eine DocumentationPart-Ressource für eine unterstützte API-Entität hinzu.
Um zu steuern, wie Clients eine API aufrufen, verwenden Sie IAM-Berechtigungen, einen Lambda-Genehmiger oder einen Amazon Cognito-Benutzerpool. Um die Nutzung Ihrer API zu messen, richten Sie Nutzungspläne ein, um die API-Anforderungen zu drosseln. Diese aktivieren Sie beim Erstellen oder Aktualisieren der API.
Das folgende Diagramm zeigt die Features, die für die REST-API-Entwicklung verfügbar sind, und an welcher Stelle im Anfrage-/Antwortmodell diese Features konfiguriert werden.
Eine Einführung in die Erstellung einer API finden Sie unter Tutorial: Erstellen einer REST-API mit einer Lambda-Proxy-Integration. Weitere Informationen zu den Funktionen von API Gateway, die Sie bei der Entwicklung einer REST-API verwenden können, finden Sie in den nachfolgenden Themen. Diese Themen enthalten konzeptionelle Informationen und Verfahren, die Sie über die API-Gateway-Konsole, die API-Gateway-REST-API, die AWS CLI oder mit einem der AWS-SDKs ausführen können.