我正在使用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');
});
};
我一直在研究如何做到这一点,但我真的找不到具体的东西。我添加了一个允许对我的lambda进行VPC访问的IAM角色,就像它在aws教程中所说的那样,我甚至在我的VPC安全组中设置了所有流量,但我仍然像这样得到超时错误:
“errorMessage”:“2017-01-22T16:11:21.969Z 544e7fc4-e0bd-11e6-87e6-071c13fc2fc8任务在30.00秒后超时”
我已经在本地测试了我的功能,它可以很好地连接到数据库并做我想做的事情,但是lamda没有这样做,我不太清楚为什么。
任何想法将不胜感激!
没关系,我刚解决了。添加:
context.callbackWaitsForEmptyEventLoop = false;
在你的lambda函数中为我修复它