繁体   English   中英

Lambda function 查询 AWS Athena 给出超时

[英]Lambda function to query AWS Athena gives timeout

我使用athena-express编写了一个 Lambda function ,它使用 S3 Parquet 文件作为目标查询 AWS Athena。 还将 AWS Glue 用于 S3 的 ETL 流程。 我收到:“任务在 6.01 秒后超时”。 增加超时会给我相同的消息,但超时秒数更高。 奇怪的是它可以在本地工作,但在部署到 AWS 时就不行。 代码应该可以工作。 我认为 AWS 配置中缺少一些东西。

我已按照说明使用 lambda 设置: https://www.npmjs.com/package/athena-express 我已将 AmazonAthenaFullAccess 和 AmazonS3FullAccess 策略添加到 Lambda function 的执行角色

当您说它在本地工作时,我假设当您在本地运行它时,您的代码没有超时。 Athena 不是一个低延迟的数据库,查询很少会在几秒钟内运行,通常在几分钟内运行——这完全取决于它们扫描的数据量和其他因素。

您的 Lambda function 的超时时间必须长于您使用它运行的查询的最长运行时间。 如果这些查询运行超过一分钟,则超时必须超过一分钟,如果它们运行超过十分钟,您的超时必须超过十分钟,依此类推。

通常,长时间运行的查询不太适合为更低延迟情况而设计的 Lambda 和 API 网关。 由于您的查询似乎运行了几分钟,我建议您寻找其他解决问题的方法。 如果您提供有关您正在尝试做的事情的更多背景信息,我们可能会为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM