为了账号安全,请及时绑定邮箱和手机立即绑定

Middy 框架让我的 AWS Lambda 挂起,因此它永远不会返回响应

Middy 框架让我的 AWS Lambda 挂起,因此它永远不会返回响应

Qyouu 2022-07-21 10:56:20
我有这样的 NodeJS 12.x Lambda,并且我正在使用 middy.js 连接到 RedShift 集群,这是摘录:const middy = require('@middy/core')const dbManager = require('@middy/db-manager');const lambda = middy(async (event, context) => {    const { db } = context;    const records = await db.distinct('XXX').from('YYY');    // print result    console.log(records);    // return result    return {        'statusCode': 200,        'body': JSON.stringify(records)    }});lambda        .use(dbManager({        config: {          client: 'pg',          connection: {            host: 'XXX',            port: '1111',            schema: 'public',            user: 'XXX',            password: 'XXX',            database: 'XXX'          }        }    }));module.exports = { lambda }当我运行这个 Lambda 时,将检索结果(即console.log打印出结果),但该函数保持挂起状态,直到它没有达到超时。我很确定我错过了异步/等待机制的一些东西,但我不知道我必须改变什么以及在哪里改变。
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

解决方案是设置context.callbackWaitsForEmptyEventLoop = false.

这可以通过使用名为DoNotWaitForEmptyEventLoop的 Middy 中间件来完成


查看完整回答
反对 回复 2022-07-21
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信