通过 lambda 函数连接到 PSQL RDS 实例?

Connection to PSQL RDS instance via a lambda function?

我正在使用 AWS 并尝试在 lambda 函数运行时连接到我的 PSQL RDS 实例。我正在使用 pg npm 模块,这是我的代码:

exports.handler = (event, context, callback) => {
  "use strict"
  const pg = require('pg');
  const connectionStr = "dbstr";
  var client = new pg.Client(connectionStr);
  client.connect(function(err){
    if(err) {
      callback(err)
    }
    callback(null, 'Connection established');
  });
};

多年来我一直在研究如何做到这一点,但我真的找不到任何具体的东西。我添加了一个允许 VPC 访问我的 lambda 的 IAM 角色,就像它在 aws 教程中所说的那样,我什至在我的 VPC 安全组中设置了所有流量,但我仍然不断收到这样的超时错误:

"errorMessage": "2017-01-22T16:11:21.969Z 544e7fc4-e0bd-11e6-87e6-071c13fc2fc8 任务在 30.00 秒后超时"

我已经在本地测试了我的功能,它在连接到数据库和做我想做的事情时工作正常,但 lamda 不做,我不太清楚为什么。

如有任何想法,我们将不胜感激!

没关系,我刚刚解决了。添加:

context.callbackWaitsForEmptyEventLoop = false;

在你的 lambda 函数中为我修复了它