¿Cómo soluciono los problemas de los puntos de enlace de API Gateway que se integran con Lambda?

3 minutos de lectura
0

Quiero integrar un punto de enlace de Amazon API Gateway con AWS Lambda, pero tengo problemas.

Descripción corta

Los siguientes motivos pueden provocar problemas en el punto de enlace de API Gateway que se integra con Lambda:

  • API Gateway no tiene permisos de función de Lambda.
  • Se produce una limitación.
  • Falta la asignación de códigos de estado HTTP o es incorrecta.
  • Las excepciones del servicio de Lambda no se administran.

Resolución

Nota: La siguiente resolución usa la API de REST de API Gateway para solucionar problemas.

Antes de empezar, active Registros de Amazon CloudWatch para solucionar los errores de API Gateway. En Nivel de registro, elija INFO para generar registros de ejecución para todas las solicitudes.

API Gateway no tiene permisos de función de Lambda

El error Permisos no válidos en la función de Lambda se produce cuando API Gateway no tiene permisos para invocar la función de Lambda. Para resolver este problema, consulte ¿Cómo puedo resolver los errores de «permisos no válidos en la función de Lambda» de las API de REST de API Gateway?

**Nota:**Si usa otro servicio para implementar sus recursos de API Gateway, como AWS CloudFormation, conceda permisos al recurso AWS::Lambda::Permission.

Se produce una limitación

Si el servicio de backend está limitado porque hay un gran número de solicitudes, es posible que la API de API Gateway devuelva un error de servidor interno. Active un mecanismo de retroceso exponencial y reintento y, a continuación, realice la solicitud de nuevo. Si el problema persiste, compruebe la cuota de API Gateway. Si supera la cuota de servicio, solicite un aumento de cuota.

También puede recibir errores Rate exceeded y 429 TooManyRequestsException debido a problemas de limitación de funciones de Lambda. Para obtener más información, consulte ¿Cómo soluciono los problemas de limitación de la función de Lambda con los errores «Rate exceeded» y 429 «TooManyRequestsException»?

Solicite un aumento de cuota para la simultaneidad de la función de Lambda para que la función no se limite.

Falta la asignación de códigos de estado o es incorrecta

Si falta la asignación de códigos de estado HTTP o es incorrecta, puede recibir un mensaje de error 500 similar al siguiente:

«Execution failed due to configuration error: Output mapping refers to an invalid method response: 2xx/4xx/5xx».

Para resolver este error, configure la solicitud de integración y la respuesta de la operación de API para que devuelva el código de estado correcto.

Las excepciones del servicio de Lambda no se administran

Si no administra las excepciones del servicio de Lambda, como el tiempo de espera de una función de Lambda, recibirá un error Lambda.Unknown. Para evitar que se agote el tiempo de espera de una función de Lambda, haga que el código de la función de Lambda sea idempotente.

Para obtener más información, consulte Error handling patterns in Amazon API Gateway and AWS Lambda (Patrones de gestión de errores en Amazon API Gateway y AWS Lambda).

Información relacionada

¿Cómo soluciono los errores 5xx de la API de REST de API Gateway?