Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

433
Vistas
Puerta de enlace API de AWS + Lamda (no asíncrona) + fetch (asincrónica)

Tengo una puerta de enlace api que necesito integrar con una lambda para mutar algunos datos de solicitud y luego pasarlos a otro servicio.

Tengo mi lambda configurada sincrónicamente (evento, contexto, devolución de llamada) y funciona bien para solicitudes sincrónicas. Sin embargo, cuando agrego una funcionalidad de "Proxy" a la lambda (realizo una solicitud a otro punto final, obtengo la respuesta y devuelvo dicha respuesta a la puerta de enlace api), parece que no puedo manejar la promesa correctamente.

Aquí hay un pseudocódigo de lo que tengo:

 const { fetch } = require('node-fetch'); const proxyMethod = (event, callback) => { const request = // valid fetch request fetch(request) .then(result => callback(null, result)) .catch(error => callback(Error(error)); } exports.handler = (event, context, callback) => { proxyMethod(event, callback); }

El problema es que no creo que esté manejando la promesa sincrónicamente, y usar async/await en "proxyMethod" básicamente no tiene efecto o la devolución de llamada no está esperando que se resuelva la promesa.

Esto es lo que obtengo en los registros de la puerta de enlace API:

 Sending request to https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/arn:aws:lambda:us-east-1:########:function:#########/invocations Received response. Status: 200, Integration latency: 749 ms Endpoint response headers: {Date=Tue, 21 Jul 2020 02:11:31 GMT, Content-Type=application/json, Content-Length=4, Connection=keep-alive, x-amzn-RequestId=######, x-amzn-Remapped-Content-Length=0, X-Amz-Executed-Version=$LATEST, X-Amzn-Trace-Id=root=########;sampled=0} Endpoint response body before transformations: null Execution failed due to configuration error: Malformed Lambda proxy response Gateway response type: DEFAULT_5XX with status code: 502
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Encontré información útil aquí. En un montón de lugares diferentes, resulta que el tiempo de ejecución del nodo es compatible con el flujo asíncrono, por lo que necesitaba usar await para esperar la solicitud de recuperación y luego esperar nuevamente en "response.json ()" para obtener la respuesta del servicio río abajo.

https://stackoverflow.com/a/51471921/3571983

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda