gpt4 book ai didi

amazon-kinesis - 如何延迟处理 AWS Kinesis 消息?

转载 作者:行者123 更新时间:2023-12-05 07:16:40 32 4
gpt4 key购买 nike

我想将来自 AWS Kinesis 流的消息处理延迟一小时。我已将 KCL 使用者配置为每四分钟读取一批记录,检查每条记录的时间戳,并在任何记录不到一小时的情况下停止处理该批处理,没有检查点。我希望同一个消费者实例每四分钟重新读取相同的消息,直到整个批处理都足够旧可以处理,然后为消费者设置检查点。然而,在实践中,消费者只读取一次消息,这意味着它们会被忽略,并且在准备好处理时再也不会读取。有没有办法配置消费者每次都重新读取上一个检查点的所有消息?

最佳答案

我会喜欢 AWS Kinesis Stream 开箱即用的类似功能(一种可以延迟事件传递的配置)。如果没有它,您可以通过一种方式延迟事件的处理,但代价是浪费计算。

使用 SQS(或 FIFO SQS,如果您关心事件排序)而不是 Kinesis,或使用 Kinesis Stream 上的 AWS Lambda 将事件传输到 SQS。 SQS 支持delaying the delivery of a message最多 15 分钟。由于您需要延迟 60 分钟,因此您可以运行另一个 Lambda(或您自己的 SQS 消费者)来处理消息。在第一次向 Lambda(或您的 SQS 消费者)发送消息时,不处理该消息,而只是设置 visibility timeout消息延迟 45 分钟(加起来需要延迟 60 分钟)。只有在您第二次收到 SQS 消息后才处理它。您可以查看一条消息之前传递了多少次,以决定是要处理还是跳过处理该消息。

关于amazon-kinesis - 如何延迟处理 AWS Kinesis 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59160627/

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