Um Parameter an Ihre Lambda-Funktion zu übergeben, müssen Sie eine Zuordnung zwischen der API-Gateway-Anforderung und Ihrer Lambda-Funktion erstellen. Die Zuordnung erfolgt im Abschnitt Integration Request
-> Mapping templates
der ausgewählten API-Gateway-Ressource.
Erstellen Sie eine Typzuordnung application/json
, und bearbeiten Sie rechts die Vorlage (klicken Sie auf den Stift).
Eine Mapping-Vorlage ist eigentlich eine Velocity-Vorlage, in der Sie ifs, Schleifen und natürlich Druckvariablen verwenden können. In die Vorlage werden diese Variablen eingefügt, über die Sie einzeln auf Querystring-Parameter, Anforderungsheader usw. zugreifen können. Mit dem folgenden Code können Sie den gesamten Querystring neu erstellen:
{
"querystring" : "#foreach($key in $input.params().querystring.keySet())#if($foreach.index > 0)&#end$util.urlEncode($key)=$util.urlEncode($input.params().querystring.get($key))#end",
"body" : $input.json('$')
}
Hinweis: Klicken Sie auf das Häkchensymbol, um die Vorlage zu speichern. Sie können Ihre Änderungen mit der Schaltfläche "Test" in Ihrer Ressource testen. Um jedoch Querystring-Parameter in der AWS-Konsole zu testen, müssen Sie die Parameternamen im Method Request
Abschnitt Ihrer Ressource definieren.
Hinweis: Weitere Informationen zur Velocity-Vorlagensprache finden Sie im Velocity-Benutzerhandbuch .
Dann können Sie in Ihrer Lambda-Vorlage Folgendes tun, um den Querystring zu analysieren:
var query = require('querystring').parse(event.querystring)
// access parameters with query['foo'] or query.foo