是能够从lambda成功连接到Redshift的任何人。
我想从Redshift表中获取一些记录并提供给我的机器人(aws lex)
请建议 - 此代码在lambda外部工作,如何使其在lambda中工作。
import psycopg2
con=psycopg2.connect(dbname= 'qa', host='name',
port= '5439', user= 'dwuser', password= '1234567')
cur = con.cursor()
cur.execute("SELECT * FROM pk.fact limit 4;")
for result in cur:
print (result)
cur.close()
con.close()
答案 0 :(得分:2)
这是节点lambda,用于连接Redshift并从中提取数据。
exports.handler = function(event, context, callback) {
var response = {
status: "SUCCESS",
errors: [],
response: {},
verbose: {}
};
var client = new pg.Client(connectionString);
client.connect(function(err) {
if (err) {
callback('Could not connect to RedShift ' + JSON.stringify(err));
} else {
client.query(sql.Sql, function(err, result) {
client.end();
if (err) {
callback('Error Cleaning up Redshift' + err);
} else {
callback(null, ' Good ' + JSON.stringify(result));
}
});
}
});
};
希望它有所帮助。