2017-04-15 177 views
1

我在哪里,我想连接到从AWS lambda.I的PostgreSQL数据库的应用程序的工作人员有设置有可公开访问的属性设置为true.Inbound和出站策略是数据库enter image description here无法从AWS拉姆达连接到AWS RDS PostgreSQL数据库

enter image description here

我能够通过pgAdmin的客户端来访问数据库,但无法通过lambda.I也相关AWSRDSFULLACCESS政策拉姆达角色,并添加VPC和子网和安全组信息的AWS这样做高级设置部分。

我得到以下超时错误 的errorMessage“: ”2017-04-15T11:26:05.163Z 4ac2cf66-21ce-11E7-a6da-a7d26945c336任务9.00秒“

的Node.js后超时我使用连接到RDS代码

var pg = require("pg"); 
exports.handler = (event, context, callback) => { 
    // TODO implement 
    const connectionStr = "pg://username:[email protected]:5432/database name"; 
    var client = new pg.Client(connectionStr); 
    client.connect(function(err){ 
    if(err) { 
     callback(err) 
    } 
    callback(null, 'Connection established'); 
    }); 
}; 

如何从AWS LAMBDA访问RDS?

+0

在本地运行代码以首先清除连接问题。 – mootmoot

回答

0

你尝试从登录数据库的东西,以确认它没有访问它?

对我来说,问题似乎是你没有结束连接。如果你有开放的数据库连接,回调不会终止它,它会一直运行直到超时。

尝试使用client.end()来终止连接。