即使客户端连接成功,NodeJs Postgres + AWS Lambda 超时

NodeJs Postgres + AWS Lambda timeout even after successful client connect

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() 已添加并且连接有效?

我很确定当你的处理函数是 async 时,它期待一个承诺被解决,所以,我不会使用回调,而是 return "Connected Successfully";

Link to relevant docs

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