Pregunta Puerta de enlace API de AWS: Error de ejecución debido a un error de configuración: no hay coincidencia para la asignación de salida y no se ha configurado ninguna asignación de salida predeterminada


En AWS API Gateway, tengo un método GET que invoca una función lambda.

Cuando pruebo el método en el panel de la API Gateway, la función lambda se ejecuta con éxito, pero la API Gateway no asigna la llamada context.success () a un resultado de 200 a pesar de tener la asignación predeterminada establecida en yes.

En cambio, recibo este error:

Execution failed due to configuration error: No match for output mapping and no default output mapping configured

Esta es mi configuración de respuesta de integración: enter image description here

Y esta es la configuración de respuesta de mi método: enter image description here

Básicamente, esperaría que API Gateway reconociera la ejecución exitosa de lambda y luego lo mapeara por defecto a una respuesta de 200, pero eso no sucede

¿Alguien sabe por qué esto no está funcionando?


9
2017-12-06 16:59


origen


Respuestas:


Hubo un problema al guardar la asignación de respuesta de integración predeterminada que se ha resuelto. El error provocó solicitudes a métodos API que se guardaron incorrectamente para devolver un error 500, los registros de CloudWatch deberían contener:

Execution failed due to configuration error: 
No match for output mapping and no default output mapping configured. 

Como 'ENABLE CORS' guarda la respuesta de integración predeterminada, este problema también apareció en su escenario.

Para obtener más información, consulte la entrada de los foros de AWS: https://forums.aws.amazon.com/thread.jspa?threadID=221197&tstart=0

Mejor,

Jurgen


4
2017-12-09 18:23



Lo que funcionó para mí:
1. En Api Gateway Console creó el método OPTIONS manualmente
2. En la sección Respuesta del método en el método OPCIONES creado, se agregó 200 OK
3. Método de opción seleccionado y CORS habilitados del menú


2
2017-09-17 15:53



Encontré el problema:

Amazon agregó un nuevo botón en la configuración de recursos API-Gateway titulado 'Habilitar CORS'. Sin embargo, antes hice clic en esto una vez habilitado no parece haber una forma de desactivarlo

Habilitar CORS con este botón (en lugar de hacerlo manualmente, que es lo que terminé haciendo) parece causar un error interno del servidor incluso en un ejecución exitosa de lambda.

enter image description here

SOLUCIÓN: borré el recurso y lo volví a crear sin hacer clic en 'Habilitar CORS' esta vez y todo funcionó bien.

Esto parece ser un ERROR con esa característica, pero tal vez simplemente no lo hago entiéndelo lo suficientemente bien. Comente si tiene más información. Gracias.


1
2017-12-06 17:46



Tuve un problema similar, lo resolvió agregando el método de respuesta 200


1
2018-04-01 09:13