gpt4 book ai didi

amazon-web-services - 如何通过消息处理一一实现 Amazon SQS (fifo)-lambda

转载 作者:行者123 更新时间:2023-12-05 00:52:44 27 4
gpt4 key购买 nike

我有一个使用案例,我有一个带有 lambda 函数的 Amazon SQS fifo 队列。我需要确保 fifo 仅在前一个 lambda 执行完成时触发 lambda(事件也是按顺序排列的)。从 aws 文档来看,fifo 仅支持一次处理,但它没有提到在第一条消息完全处理之前它不会在 lambda 上推送更多事件

我需要确保只有在上一条消息被 lambda 函数完全处理后,才会处理下一条消息。

有没有办法确保消息 1 被 lambda 完全处理后,消息 2 才被 lambda 处理

最佳答案

fifo supports exactly once processing but it does not mention anywherethat it would not push more event on lambda untill the first messageis completely processed.

SQS 从不将任何东西推送到任何地方。您必须轮询 SQS 以获取消息。当您配置 Lambda 与 SQS 的集成时,Lambda 实际上是在后台运行一个进程来为您轮询 SQS。

AWS FIFO 队列允许您通过指定 Message Group ID 来强制按顺序处理消息。 .当您为多条消息指定相同的消息组 ID 时,FIFO 队列一次只会使其中一条消息可用(以先进先出的顺序)。只有在从队列中删除第一条消息后,第二条消息才可用,等等...

除此之外,您还应该使用 Batch Size 配置 AWS Lambda SQS 集成。 1,因此它不会在处理之前尝试等待多个消息可用。你可以配置Reserved Concurrency将 Lambda 函数添​​加到 1,如另一个答案中所述,以便一次只能运行 Lambda 函数的一个实例。

关于amazon-web-services - 如何通过消息处理一一实现 Amazon SQS (fifo)-lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69255826/

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