gpt4 book ai didi

node.js - 尝试通过 AWS Lambda 连接到 Redshift

转载 作者:搜寻专家 更新时间:2023-10-31 23:17:43 26 4
gpt4 key购买 nike

我正在使用 node-postgres客户端到我的 AWS Redshift 数据库。

在本地,我能够在 node 中运行以下代码,获取“>> connected”和“>>> successful query.jsonResult:”的打印语句。

但是,当我在 Amazon Lambda 中运行此代码时,除了“正在尝试连接...”之外,我没有看到任何日志语句。

console.log("trying to connect...");
var r = pg.connect(conString, function(err, client) {
if(err) {
return console.log('>> could not connect to redshift', err);
}
console.log(">> connected");
client.query('SELECT * FROM my_table', function(err, result) {
if(err) {
return console.log('error running query', err);
}
var jsonResult = JSON.stringify( result );
console.log(">>> successful query. jsonResult: " + jsonResult);
client.end();
return jsonResult;
});
});

我很困惑,除了“>> trying to connect...”之外,为什么没有打印语句会出现在这段代码中。

最佳答案

有两件事你应该检查

  1. 确保您的 Lambda 函数不会提前返回,您发布的代码片段不包含对 context.done() 的任何调用,因此很难知道您是否正确处理了它.您是在其他地方调用 context.done() 吗?
  2. 您的 Redshift 集群是否对互联网开放?当您手动连接到 Redshift 集群时,您是从 EC2 实例还是通过 Internet 进行连接?如果是前者,您的 Lambda 函数可能无法连接到集群,因为集群不可寻址(但它来自您的 EC2 实例,因为您已将集群的安全组配置为允许实例的安全组连接)。 You can read more about how to configure access to your cluster here .

关于node.js - 尝试通过 AWS Lambda 连接到 Redshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com