Para pasar parámetros a su función lambda, debe crear una asignación entre la solicitud de API Gateway y su función lambda. La asignación se realiza en la sección Integration Request
-> Mapping templates
del recurso API Gateway seleccionado.
Cree una asignación de tipo application/json
, luego a la derecha editará (haga clic en el lápiz) la plantilla.
Una plantilla de mapeo es en realidad una plantilla de Velocity donde puedes usar ifs, loops y, por supuesto, imprimir variables en ella. La plantilla tiene estas variables inyectadas donde puede acceder a los parámetros de cadena de consulta, encabezados de solicitud, etc. individualmente. Con el siguiente código, puede volver a crear toda la cadena de consulta:
{
"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('$')
}
Nota: haga clic en el símbolo de verificación para guardar la plantilla. Puede probar sus cambios con el botón "prueba" en su recurso. Pero para probar los parámetros de la cadena de consulta en la consola de AWS, deberá definir los nombres de los parámetros en la Method Request
sección de su recurso.
Nota: consulte la Guía del usuario de Velocity para obtener más información sobre el lenguaje de plantillas Velocity.
Luego, en su plantilla lambda, puede hacer lo siguiente para analizar la cadena de consulta:
var query = require('querystring').parse(event.querystring)
// access parameters with query['foo'] or query.foo