Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

444
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!