进行PostgreSQL查询后调用Google表格时,Lambda函数超时

我正在尝试编写Lambda函数(使用AWS Cloud9),该函数向Redshift(使用node-postgres包)进行查询,然后将结果写入Google表格(使用googleapis包)。

我目前将代码分布在两个独立的Lambda函数上-一个用于查询,另一个用于写入工作表,尽管当我在单个函数中尝试该函数时也会发生相同的错误。

两个功能都可以正常工作。查询函数进行查询并返回结果,写查询将测试有效负载写入工作表。 但是,如果我尝试从查询函数中调用写入函数,则整个过程将冻结并最终超时。这是一次运行的确切日志。

Error: 
Read timeout on endpoint URL: "https://lambda.us-east-2.amazonaws.com/2015-03-31/functions/queryRedshift/invocations"

    at convertStderrToError (https://d28a1z68q19s1r.cloudfront.net/content/ce0bff16a8467f5a19e655ab833e28a385f3a62f/@aws/aws-toolkit-cloud9/configs/bundle.js:424:33)
    at exports.EventEmitter.<anonymous> (https://d28a1z68q19s1r.cloudfront.net/content/ce0bff16a8467f5a19e655ab833e28a385f3a62f/@aws/aws-toolkit-cloud9/configs/bundle.js:416:70)
    at exports.EventEmitter.EventEmitter.emit (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:20:23)
    at Consumer.onExit (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:47444:80)
    at Consumer.<anonymous> (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:47204:4)
    at Consumer.Agent._onmessage (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:47289:4)
    at EngineIoTransport.EventEmitter.emit (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:47041:16)
    at module.exports.onmessage (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:47348:6)
    at module.exports.EventEmitter.emit (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:19:23)
    at module.exports.ReliableSocket.onmessage (https://d373lap04ubgnu.cloudfront.net/c9-af167ac416de-ide/build/configs/ide/@aws/cloud9/configs/ide/environment-default.js:47560:76)

我已经尝试过重新设计代码以分隔事物,但实际上我不确定从哪里开始,因为我只能找到one other similar problem with no answer,而且日志也没有指向事物陷入困境的地方(据我所知-我对此并不经验丰富。)

如果有人至少可以指出我正确的方向,那将非常有帮助!

谢谢!


编辑:我现在也尝试了具有相同结果的node-redshift包。

qqq279985481 回答:进行PostgreSQL查询后调用Google表格时,Lambda函数超时

根据您提供的信息,可能是以下情况:

  • 查询lambda能够连接到AWS内的redshift。
  • 写作Lambda能够通过Internet连接到Google Sheet API。

查询lambda没有互联网连接以连接

lambda.us-east-2.amazonaws.com

要在VPC中使用Lambda函数访问互联网,您必须执行以下操作,

https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/

如果您是正确的话,您的所有子网都已连接到Internet网关,但是都没有NAT网关。

本文链接:https://www.f2er.com/3147924.html

大家都在问