Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Methode über die API Gateway-Konsole einrichten
Wenn Sie mit der REST-API-Konsole eine Methode erstellen, konfigurieren Sie sowohl die Integrationsanforderung als auch die Methodenanforderung. Standardmäßig erstellt API Gateway die 200
Methodenantwort für Ihre Methode.
Die folgenden Anweisungen zeigen, wie Sie die Einstellungen für Methodenanfragen bearbeiten und zusätzliche Methodenantworten für Ihre Methode erstellen.
Themen
Bearbeiten Sie eine API Gateway Gateway-Methodenanforderung in der API Gateway Gateway-Konsole
Bei diesen Anweisungen wird davon ausgegangen, dass Sie Ihre Methodenanforderung bereits erstellt haben. Weitere Informationen zum Erstellen einer Methode finden Sie unterAPI-Integrationsanfrage über die API Gateway-Konsole einrichten.
-
Wählen Sie im Bereich Ressourcen Ihre Methode und dann die Registerkarte Methodenanfrage aus.
Wählen Sie im Abschnitt Method request settings (Einstellungen der Methodenanforderung) die Option Edit (Bearbeiten) aus.
-
Wählen Sie für Authorization (Autorisierung) einen verfügbaren Genehmiger aus.
-
Um einen offenen Zugriff auf die Methode für alle Benutzer zu aktivieren, wählen Sie None (Keine) aus. Dieser Schritt kann übersprungen werden, wenn die Standardeinstellung nicht geändert wurde.
-
Um IAM-Berechtigungen für die Steuerung des Client-Zugriffs auf die Methode zu verwenden, wählen Sie
AWS_IAM
aus. Mit dieser Auswahl können nur Benutzer der IAM-Rollen mit der korrekten angefügten IAM-Richtlinie diese Methode aufrufen.Legen Sie zum Erstellen der IAM-Rolle eine Zugriffsrichtlinie mit einem Format wie folgt fest:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "
resource-statement
" ] } ] }In dieser Zugriffsrichtlinie ist
Resource-Statement
der ARN Ihrer Methode. Sie finden den ARN Ihrer Methode, indem Sie die Methode auf der Seite Ressourcen auswählen. Weitere Informationen zum Festlegen der IAM-Berechtigungen finden Sie unter Steuern Sie den Zugriff auf eine REST API mit IAM Berechtigungen.Um die IAM-Rolle zu erstellen, können Sie die Anweisungen im folgenden Tutorial anpassen. Lambda-Funktion für die Nicht-Proxy-Integration von Lambda erstellen
-
Um einen Lambda-Genehmiger zu verwenden, wählen Sie ein Token oder einen Genehmiger der Anforderung aus. Erstellen Sie einen Lambda-Genehmiger, damit diese Auswahl im Dropdown-Menü angezeigt wird. Informationen über die Erstellung eines Lambda-Genehmigers finden Sie unter Verwenden Sie API Gateway Lambda-Autorisierer.
-
Um einen Amazon Cognito-Benutzerpool zu verwenden, wählen Sie einen verfügbaren Benutzerpool unter Cognito user pool authorizers (Cognito-Benutzerpool-Genehmiger) aus. Erstellen Sie einen Benutzerpool in Amazon Cognito und einen Amazon Cognito-Benutzerpool-Genehmiger in API Gateway, damit diese Auswahl im Dropdown-Menü angezeigt wird. Informationen darüber, wie Sie einen Amazon Cognito-Benutzerpool-Genehmiger erstellen, finden Sie unter Steuern Sie den Zugriff auf REST-APIs mithilfe von Amazon Cognito Cognito-Benutzerpools als Autorisierer.
-
-
Um die Anforderungsvalidierung anzugeben, wählen Sie einen Wert aus dem Dropdown-Menü Request Validator (Anforderungs-Validator) aus. Um die Anforderungsvalidierung zu deaktivieren, wählen Sie None (Keine) aus. Weitere Informationen zu den jeweiligen Optionen finden Sie unter Validierung für REST APIs in API Gateway anfordern.
-
Wählen Sie API key required (API-Schlüssel erforderlich) aus, damit ein API-Schlüssel erforderlich ist. Wenn diese Option aktiviert ist, werden API-Schlüssel in Nutzungsplänen verwendet, um den Client-Datenverkehr zu drosseln.
-
(Optional) Um einen Operationsnamen in einem Java SDK dieser API zuzuweisen, die von einem API Gateway generiert wird, geben Sie unter Operation name (Operationsname) einen Namen ein. Beispielsweise ist für die Methodenanforderung
GET /pets/{petId}
der entsprechende Java-SDK-Operationsname standardmäßigGetPetsPetId
. Dieser Name wird aus dem HTTP-Verb (GET
) der Methode und den Variablennamen des Ressourcenpfads (Pets
undPetId
) erstellt. Wenn Sie den Operationsnamen alsgetPetById
festlegen, wird der SDK-Operationsnamen zuGetPetById
. -
Fügen Sie der Methode wie folgt einen Abfragezeichenfolge-Parameter hinzu:
-
Wählen Sie URL Query String Parameters (URL-Abfragezeichenfolgen-Parameter) und dann Add query string (Abfragezeichenfolge hinzufügen) aus.
-
Geben Sie unter Name den Namen des Abfragezeichenfolge-Parameters ein.
-
Wenn der neu erstellte Abfragezeichenfolge-Parameter für die Anforderungsvalidierung verwendet wird, wählen Sie die Option Required (Obligatorisch) aus. Weitere Informationen zur Anforderungsvalidierung finden Sie unter Validierung für REST APIs in API Gateway anfordern.
-
Wenn der neu erstellte Abfragezeichenfolge-Parameter als Teil eines Caching-Schlüssels verwendet wird, wählen Sie die Option Caching aus. Weitere Informationen zum Caching finden Sie unter Verwenden der Methoden-/Integrationsparameter als Cache-Schlüssel, um zwischengespeicherte Antworten zu indizieren.
Klicken Sie zum Entfernen des Abfragezeichenfolge-Parameters auf Remove (Entfernen).
-
-
Fügen Sie der Methode wie folgt einen Header-Parameter hinzu:
-
Wählen Sie HTTP Request Headers (HTTP-Anforderungs-Header) und dann Add header (Header hinzufügen) aus.
-
Geben Sie unter Name den Namen des Headers ein.
-
Wenn der neu erstellte Header für die Anforderungsvalidierung verwendet wird, wählen Sie die Option Required (Obligatorisch) aus. Weitere Informationen zur Anforderungsvalidierung finden Sie unter Validierung für REST APIs in API Gateway anfordern.
-
Wenn der neu erstellte Hader als Teil eines Caching-Schlüssels verwendet wird, wählen Sie die Option Caching aus. Weitere Informationen zum Caching finden Sie unter Verwenden der Methoden-/Integrationsparameter als Cache-Schlüssel, um zwischengespeicherte Antworten zu indizieren.
Um de Header zu entfernen, wählen Sie Remove (Entfernen).
-
-
Um das Nutzlastformat einer Methodenanforderung mit dem
POST
-,PUT
- oderPATCH
-HTTP-Verb zu deklarieren, erweitern Sie Request Body (Anforderungstext) und führen Sie die folgenden Schritte aus:-
Wählen Sie Add model aus.
-
Geben Sie unter Content-type einen MIME-Typ (beispielsweise
application/json
) ein. -
Wählen Sie für Modell ein Modell aus dem Dropdown-Menü aus. Die derzeit verfügbaren Modelle für die API umfassen die standardmäßigen
Empty
- undError
-Modelle sowie alle Modelle, die Sie erstellt und der Modell-Sammlung der API hinzugefügt haben. Weitere Informationen zum Erstellen eines Modells finden Sie unter Datenmodelle für REST APIs.Anmerkung
Das Modell ist nützlich, um den Client über das erwartete Datenformat einer Nutzlast zu informieren. Es ist hilfreich, ein Mapping-Vorlagenskelett zu generieren. Es ist wichtig, einen stark typisierten SDK der API in solchen Sprachen wie Java, C#, Objective-C und Swift zu generieren. Es ist nur erforderlich, wenn die Anforderungsvalidierung für die Nutzlast aktiviert ist.
-
-
Wählen Sie Speichern.
API Gateway-Methodenantwort über die API Gateway-Konsole einrichten
Eine API-Methode kann über eine oder mehrere Antworten verfügen. Jede Antwort wird von ihrem HTTP-Statuscode indiziert. Standardmäßig fügt die API Gateway-Konsole den Antworten der Methode eine 200
-Antwort hinzu. Sie können dies ändern, z. B. so, dass die Methode stattdessen 201
zurückgibt. Sie können weitere Antworten hinzufügen, z. B. 409
bei Zugriffsverweigerungen und 500
bei Verwendungen nicht initialisierter Stufenvariablen.
Um die API Gateway-Konsole zum Ändern, Löschen oder Hinzufügen einer Antwort zu einer API-Methode zu verwenden, folgen Sie diesen Anweisungen.
-
Wählen Sie im Bereich Ressourcen Ihre Methode und dann die Registerkarte Methodenantwort aus. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.
-
Wählen Sie im Abschnitt Method response settings (Einstellungen für Methodenantwort) die Option Create response (Antwort erstellen) aus.
-
Geben Sie unter HTTP status code (HTTP-Statuscode) einen HTTP-Statuscode wie
200
,400
oder500
ein.Wenn für eine vom Backend zurückgegebene Antwort keine entsprechende Methodenantwort definiert ist, kann API Gateway die Antwort nicht an den Client zurückgeben. Stattdessen gibt es eine
500 Internal server error
-Fehlerantwort zurück. -
Wählen Sie Add header.
-
Geben Sie unter Header name (Header-Name) den Namen ein.
Um einen Header vom Backend an den Client zurückzugeben, fügen Sie den Header in die Methodenantwort ein.
-
Wählen Sie Add model (Modell hinzufügen), um ein Format für den Textkörpers der Methodenantwort zu definieren.
Geben Sie den Medientyp der Antwortnutzlast für Content type (Inhaltstyp) ein und wählen Sie ein Modell aus dem Dropdown-Menü Models (Modelle) aus.
-
Wählen Sie Speichern.
Um eine bestehende Antwort zu ändern, navigieren Sie zu Ihrer Methodenantwort und wählen Sie dann Edit (Bearbeiten). Um den HTTP status code (HTTP-Statuscode) zu ändern, wählen Sie Delete (Löschen) und erstellen Sie eine neue Methodenantwort.
Für jede vom Backend zurückgegebene Antwort, müssen Sie über eine kompatible Antwort verfügen, die als Methodenantwort konfiguriert ist. Jedoch ist die Konfiguration der Methodenantwort-Header und des Nutzlastmodells optional, es sei denn, Sie weisen das Ergebnis des Backends der Methodenantwort vor der Rückgabe an den Client zu. Zudem ist ein Nutzlastmodell der Methodenantwort wichtig, wenn Sie einen stark typisierten SDK für Ihre API generieren.