任何人都能够从 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()
最佳答案
这是用于连接到 Redshift 并从中提取数据的节点 lambda。
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));
}
});
}
});
};
希望有帮助。
关于python - 从 lambda 连接到 Redshift 并使用 python 获取一些记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48308584/