2015-10-16 108 views
2
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查詢超時

+0

關於無關(SQL注入)的說明:https://xkcd.com/327/ – jarmod

+0

更新爲刪除SQL注入,但仍不知道它爲什麼不會返回記錄 – Podgeypoos

回答

3

小學生錯誤,原來我需要通過安全組允許AWS流量通過我的postgres服務器。