通过 Lambda 实时监控 AWS Athena 查询

问题描述 投票:0回答:2

我正在使用 AWS Lambda (Node.js/JavaScript) 和 AWS AppSync 开发无服务器应用程序。在我的应用程序中,我使用 Athena 对 S3 文件运行查询。我在有效监控状态并获取从 Lambda 函数发起的 Athena 查询的实时结果方面面临挑战。

这是我当前实施的总结:

我使用await athena.startQueryExecution(params).promise();触发Athena查询在我的 Lambda 函数中。 我知道检查查询的状态涉及轮询 getQueryExecution 直到完成。 我正在寻找一种更实时的方法或替代解决方案来监视 Athena 查询状态并获取结果,而无需不断轮询。 挑战:

轮询会带来延迟,我正在寻求更实时的解决方案。 我探索了 AWS Step Functions、CloudWatch Events 和 Lambda Destinations,但尚未找到令人满意的解决方案。 客观的: 我希望有效监控从 Lambda 函数发起的 Athena 查询的执行状态并获取实时结果,而无需诉诸连续轮询。

代码示例:

const queryResults = await athena.startQueryExecution(params).promise();

问题:

是否有其他方法或最佳实践可以通过 Lambda 函数实时监控 Athena 查询? 是否有一种更加事件驱动且不涉及连续轮询的解决方案? 如何优化流程以减少获取查询结果的延迟?

提前致谢。!

amazon-web-services aws-lambda amazon-athena aws-appsync
2个回答
1
投票

没有这样的事。除了轮询之外,AWS 不会公开任何可用于此目的的 API。


0
投票

一种选择是在 S3 存储桶内创建对象时触发处理 Lambda

© www.soinside.com 2019 - 2024. All rights reserved.