通过 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 函数中为我修复了它
我正在使用 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 函数中为我修复了它