python - sirve - ¿Cómo paso argumentos a las funciones de AWS Lambda usando solicitudes GET?
lambda console (2)
Diga que quiero pasar val1 y val2 en la cadena de URL al realizar una solicitud GET desde mi punto de acceso Api Gateway a mi función Lambda:
https://xyz.execute-api.amazonaws.com/prod/test?val1=5&val2=10
Y tengo una función simple que suma las dos entradas, val1 y val2:
def lambda_handler(event, context):
# How do I get at val1 and val2??
return {''result'': val1 + val2}
He agregado val1 y val2 a los parámetros de cadena de consulta de URL en la solicitud de método en la puerta de enlace de la API de AWS. ¿Pero cómo accedo a ellos dentro de la función?
Después de definir los parámetros de la cadena de consulta en la sección Solicitud de método de la puerta de enlace API, debe definir una Plantilla de asignación en la sección Ejecución del método .
En la sección Ejecución del método , seleccione Plantillas de asignación y luego haga clic en Agregar plantilla de asignación . Ingrese application/json
para el Tipo de contenido y luego cree una plantilla de mapeo que se vea así:
{
"va1": "$input.params(''val1'')",
"val2": "$input.params(''val2'')"
}
Esto le indicará a la puerta de enlace de la API que tome los parámetros de entrada (pasados en la ruta o en los encabezados o en los parámetros de consulta) llamados val1
y val2
y los envíe a la función Lambda en los datos de eventos como val1
y val2
.
Toda la información puede ser recuperada del objeto evento.
Por ejemplo: val1 se puede recuperar como evento ["valor1"] etc.