Wie konfiguriere ich mein API Gateway-REST-API, um Abfragezeichenfolgenparameter an eine Backend-Lambda-Funktion oder einen HTTP-Endpunkt zu übergeben?

Lesedauer: 3 Minute
0

Ich benötige mein Amazon API Gateway REST-API, um Abfragezeichenfolgenparameter an eine Backend-Lambda-Funktion von AWS und einen HTTP-Endpunkt zu übergeben.

Kurzbeschreibung

Um eine REST-API für die Übergabe von Abfragezeichenfolgenparametern an eine AWS Lambda-Funktion im Backend zu konfigurieren, verwenden Sie eine benutzerdefinierte Lambda-Integration.

Um Abfragezeichenfolgenparameter an einen HTTP-Endpunkt zu übergeben, verwenden Sie eine benutzerdefinierte HTTP-Integration.

Wichtig: Stellen Sie sicher, dass Sie die Eingabedaten als Payload für die Integrationsanfrage bereitstellen. Es hat sich bewährt, für die Bereitstellung der Payload eine Zuordnungsvorlage zu verwenden. Weitere Informationen finden Sie unter Zuordnung von Anforderungs- und Antwort-Payload zwischen Methode und Integration.

Behebung

Übergabe von Abfragezeichenfolgenparametern an eine Lambda-Funktion im Backend

1.    Öffnen Sie die API Gateway-Konsole und wählen Sie dann Ihre API aus.

2.    Wählen Sie im Bereich Ressourcen die konfigurierte HTTP-Methode aus.

Hinweis: Wenn mehr als eine HTTP-Methode für die API konfiguriert ist, wiederholen Sie die Schritte 2 bis 15 für jede Methode.

3.    Im Bereich Methodenausführung wählen Sie Methodenanforderung aus.

4.    Erweitern Sie die Dropdown-Liste der URL-Abfragezeichenfolgenparameter und wählen Sie dann Abfragezeichenfolge hinzufügen aus.

5.    Für das Feld Namen geben Sie pet ein und wählen dann das Häkchensymbol.

6.    Wählen Sie das Kontrollkästchen Erforderlich aus.

7.    Wählen Sie den Bereich Methodenausführung aus.

8.    Wählen Sie Integrationsanfrage aus.

9.    Wählen Sie die Dropdown-Liste Zuordnungsvorlagen und dann Zuordnungsvorlage hinzufügen aus.

10.    Für das Feld Inhaltstyp geben Sie application/json ein und wählen dann das Häkchensymbol.

11.    In dem daraufhin angezeigten Pop-up wählen Sie Ja, diese Integration sichern aus.

12.Für Textdurchleitung anfordern wählen Sie Wenn keine Vorlagen definiert sind (empfohlen).

13.    Im Zuordnungsvorlageneditor kopieren Sie das vorhandene Skript und ersetzen es durch folgenden Code:

{
     "pet": "$input.params('pet')"
}

Hinweis: Weitere Informationen finden Sie in den $input-Variablen.

14.    Wählen Sie Speichern und dann API bereitstellen aus.

15.    Um den neuen Endpunkt der API zu testen, führen Sie folgenden curl-Befehl aus:

curl -X GET https://jp58lnf5vh.execute-api.us-west-2.amazonaws.com/dev/lambda-non-proxy?pet=dog

Wichtig: Stellen Sie sicher, dass der curl-Befehl den Abfragezeichenfolgenparameter pet=dog hat.

Übergabe der Abfragezeichenfolgenparameter an einen HTTP-Endpunkt

1.    Öffnen Sie die API Gateway-Konsole und wählen Sie dann Ihre API aus.

2.    Wählen Sie im Bereich Ressourcen die konfigurierte HTTP-Methode aus.

Hinweis: Wenn mehr als eine HTTP-Methode für die API konfiguriert ist, wiederholen Sie die Schritte 2 bis 10 für jede Methode.

3.    Im Bereich Methodenausführung wählen Sie Methodenanforderung aus.

4.    Erweitern Sie die Dropdown-Liste der URL-Abfragezeichenfolgenparameter und wählen Sie dann Abfragezeichenfolge hinzufügen aus.

5.    Für das Feld Namen geben Sie Typ ein und wählen dann das Häkchensymbol.

6.    Wählen Sie den Bereich Methodenausführung aus.

7.    Wählen Sie Integrationsanfrage aus.

8.    Erweitern Sie den Abschnitt URL-Abfragezeichenfolgenparameter.

Hinweis: Standardmäßig werden die Abfragezeichenfolgenparameter der Methodenanforderung den gleichnamigen Abfragezeichenfolgenparametern für Integrationsanfragen zugeordnet. Um dies anzusehen, aktualisieren Sie die Seite der API Gateway-Konsole. Um einen Methodenanforderungsparameter einem anderen Integrationsanforderungsparameter zuzuordnen, löschen Sie zunächst den vorhandenen Integrationsanforderungsparameter. Fügen Sie dann eine neue Abfragezeichenfolge mit dem gewünschten Ausdruck für die Zuordnung von Methodenanforderungsparametern hinzu.

9.    Wählen Sie Speichern und dann API bereitstellen.

10.    Um den neuen Endpunkt der API zu testen, führen Sie folgenden curl-Befehl aus:

curl -X GET https://jp58lnf5vh.execute-api.us-west-2.amazonaws.com/dev/http-endpoint?pet=dog

Wichtig: Stellen Sie sicher, dass der curl-Befehl den Abfragezeichenfolgenparameter pet=dog hat.


Verwandte Informationen

Tutorial: Erstellen Sie eine Hello World REST-API mit Lambda-Proxyintegration

Tutorial: Erstellen Sie eine API-Gateway-REST-API mit Lambda-Integration ohne Proxy

Tutorial: Erstellen Sie eine REST-API mit HTTP-Proxyintegration

Tutorial: Erstellen Sie eine REST-API mit HTTP-Integration ohne Proxy