AWS Lambda postgres查询超时
问题描述:
var pg = require("pg");
exports.handler = function(event, context) {
var conn = "blanked out for SO";
var client = new pg.Client(conn);
client.connect();
userName = event.userName;
var client = new pg.Client(conn);
client.connect();
var query = client.query({
text: 'SELECT address from users where userName= $1',
values: [userName]
});
query.on("row", function (row, result) {
result.addRow(row);
});
query.on("end", function (result) {
var jsonString = JSON.stringify(result.rows);
var jsonObj = JSON.parse(jsonString);
client.end();
context.done(null, jsonObj);
});
};
使用上面的代码从表中返回一行。我使用lambda-local在本地执行,并已上传到AWS中执行,我不断从AWS/local中获取时间。我相信这与query.on有关,如果在最后一个括号之前添加context.done(null,“success”)到结尾,它将返回成功。 如何让它从查询中返回行?AWS Lambda postgres查询超时
答
小学生错误,原来我需要通过安全组允许AWS流量通过我的postgres服务器。
关于无关(SQL注入)的说明:https://xkcd.com/327/ – jarmod
更新为删除SQL注入,但仍不知道它为什么不会返回记录 – Podgeypoos