Kev*_*ith 7 amazon-web-services node.js amazon-redshift aws-lambda
我创建了一个AWS Lambda函数:
在本地,使用Node,我可以通过JDBC成功连接到Redshift实例,并执行查询.
var conString = "postgresql://USER_NAME:PASSWORD@JDBC_URL”;
var client = new pg.Client(conString);
client.connect(function(err) {
if(err) {?
console.log('could not connect to redshift', err);?
} ?
// omitted due to above error
Run Code Online (Sandbox Code Playgroud)
但是,当我在AWS Lambda上执行该功能时(它包含在异步#瀑布块中),AWS Cloudwatch日志告诉我,AWS Lambda函数在60秒后超时.
关于为什么我的功能无法连接的任何想法?
我发现要么向所有来源公开您的 Redshift 安全组,要么不公开。因为 Lambda 函数不是在固定地址甚至固定 IP 地址范围上运行,这对用户完全透明(也称为无服务器)。
我昨天刚刚看到亚马逊宣布了新的 Lambda 功能来支持 VPC。我想如果我们可以在 VPC 中运行 Redshift 集群,就可以解决这个问题。