【问题标题】:NodeJs Postgres + AWS Lambda timeout even after successful client connect即使客户端连接成功,NodeJs Postgres + AWS Lambda 也会超时
【发布时间】:2022-02-10 00:35:41
【问题描述】:

Lambda 函数:

const client = new Client({
    user: 'postgres',
    host: 'rds_host',
    database: 'dbname',
    password: 'db_password',
    port: 5432
});

exports.handler = async (event, context, callback) => {
    try {
        await client.connect();
        callback(null, "Connected Successfully");
    } catch (e) {
        callback(null, "Error");
    }
};

使用此代码,我的 lambda 总是会出现超时错误,如果我去掉 cliente.connect() 行,它可以正常工作。

有趣的是,如果我添加一个client.queryINSERT,该命令确实有效并且该行是在数据库中创建的,那么为什么在添加client.connect() 并且连接有效时我会超时?

【问题讨论】:

    标签: javascript node.js postgresql amazon-web-services aws-lambda


    【解决方案1】:

    我很确定,当您的处理函数是 async 时,它期望一个承诺得到解决,因此,我不使用回调,而是只使用 return "Connected Successfully";

    Link to relevant docs

    此链接中有一个示例,其中有一个没有回调的异步处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 2014-07-03
      • 1970-01-01
      • 2021-01-12
      相关资源
      最近更新 更多