python - 从 lambda 连接到 Redshift 并使用 python 获取一些记录

标签 python amazon-web-services amazon-s3 lambda aws-lambda

任何人都能够从 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/

相关文章:

amazon-web-services - Ubuntu 14.0.4 OpenSSL 1.0.1f 和 TLSv1_2016 的握手错误

javascript - 将图像文件传递给 AWS lambda

python - 如何以编程方式确定函数/内置/可调用参数的数量?

python - 在子字符串上加入 pandas 数据框

python - 如何通过添加到列表列表中使所有列表的长度相同

amazon-web-services - 自动缩放:新创建的实例总是 OutOfService

python - 如何序列化请求Response对象为HAR

python - 为什么在 IAM 设置为允许所有时 AWS 拒绝许可?

amazon-s3 - 为什么要随机化云存储/CDN 的文件名?

ruby-on-rails - Ruby on Rails 与 Paperclip : can't find paperclip. rb 初始值设定项