Methode über die API Gateway-Konsole einrichten - Amazon API Gateway

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

Vor dem Einrichten einer API-Methode, überprüfen Sie Folgendes:

API Gateway-Methodenanforderung in der API Gateway-Konsole einrichten

Befolgen Sie diese Anweisungen, um die API Gateway-Konsole zum Festlegen einer Anfrage/Antwort der API-Methode und zum Konfigurieren, wie die Methode Anfragen autorisiert, zu verwenden.

Anmerkung

Für diese Anleitungen müssen die Schritte in API-Integrationsanfrage über die API Gateway-Konsole einrichten bereits abgeschlossen sein. Sie sind am Besten geeignet, um die Diskussionen unter API Gateway REST-API mit Lambda-Integration erstellen zu ergänzen.

  1. Wählen Sie im Bereich Ressourcen Ihre Methode und dann die Registerkarte Methodenanforderung aus.

  2. Wählen Sie im Abschnitt Method request settings (Einstellungen der Methodenanforderung) die Option Edit (Bearbeiten) aus.

  3. Wählen Sie für Authorization (Autorisierung) einen verfügbaren Genehmiger aus.

    1. 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.

    2. 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 vordefinierten Zugriffsrichtlinie ist resource-statement der Wert des Feldes ARN im Abschnitt Authorization Settings. Weitere Informationen zum Festlegen der IAM-Berechtigungen finden Sie unter Kontrollieren des Zugriffs auf eine API mit IAM-Berechtigungen.

      Um die IAM-Rolle zu erstellen, können Sie die Anweisungen in „So erstellen Sie die Lambda-Aufrufrolle und ihre Richtlinie“ und „So erstellen Sie die Lambda-Ausführungsrolle und ihre Richtlinie“ im Abschnitt Lambda-Funktionen erstellen des API Gateway REST-API mit Lambda-Integration erstellen nutzen.

    3. 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 API Gateway-Lambda-Genehmiger verwenden.

    4. 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 Zugriff auf eine REST-API mit Amazon Cognito-Benutzerpools als Genehmiger steuern.

  4. 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 Verwenden der Anforderungsvalidierung in API Gateway.

  5. 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.

  6. (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äßig GetPetsPetId. Dieser Name wird aus dem HTTP-Verb (GET) der Methode und den Variablennamen des Ressourcenpfads (Pets und PetId) erstellt. Wenn Sie den Operationsnamen als getPetById festlegen, wird der SDK-Operationsnamen zu GetPetById.

  7. Fügen Sie der Methode wie folgt einen Abfragezeichenfolge-Parameter hinzu:

    1. Wählen Sie URL Query String Parameters (URL-Abfragezeichenfolgen-Parameter) und dann Add query string (Abfragezeichenfolge hinzufügen) aus.

    2. Geben Sie unter Name den Namen des Abfragezeichenfolge-Parameters ein.

    3. 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 Verwenden der Anforderungsvalidierung in API Gateway.

    4. 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).

  8. Fügen Sie der Methode wie folgt einen Header-Parameter hinzu:

    1. Wählen Sie HTTP Request Headers (HTTP-Anforderungs-Header) und dann Add header (Header hinzufügen) aus.

    2. Geben Sie unter Name den Namen des Headers ein.

    3. 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 Verwenden der Anforderungsvalidierung in API Gateway.

    4. 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).

  9. Um das Nutzlastformat einer Methodenanforderung mit dem POST-, PUT- oder PATCH-HTTP-Verb zu deklarieren, erweitern Sie Request Body (Anforderungstext) und führen Sie die folgenden Schritte aus:

    1. Wählen Sie Add model aus.

    2. Geben Sie unter Content-type einen MIME-Typ (beispielsweise application/json) ein.

    3. 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- und Error-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.

      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.

  10. 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.

  1. 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.

  2. Wählen Sie im Abschnitt Method response settings (Einstellungen für Methodenantwort) die Option Create response (Antwort erstellen) aus.

  3. Geben Sie unter HTTP status code (HTTP-Statuscode) einen HTTP-Statuscode wie 200, 400 oder 500 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.

  4. Wählen Sie Add header.

  5. 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.

  6. 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.

  7. 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.