AWS SQS 批处理中的消息是否由 Lambda 函数并行处理?
Are messages in an AWS SQS batch processed in parallel by Lambda function?
我有一个问题,我似乎无法在网上找到答案。
下面我以例子的形式提问:
假设我有一个 FIFO 队列。队列收到 10 条消息。我有一个 Lambda 函数,该函数订阅了从批量大小为 5 的队列中提取的上述队列。
现在,当我说...时,我对 SQS 的理解是否正确?
- Lambda 函数将被调用两次。
- 第二次调用将在第一次调用完成后运行开始。
- 每次调用将处理 5 条消息,每条消息将同时(并行)处理。
这些说法都正确吗?如果不是,哪些是不正确的,为什么?
我已阅读 SQS 文档,但没有看到任何提及上述所有陈述的内容。
在评论的帮助下,我现在明白了我的解决方案需要什么。
假设批量大小为 5。
假设所有消息都具有相同的消息组 ID,消息将从 SQS 分批消费(5 批次)。这意味着 Lambda 函数的 2 次调用。
批处理中的每条消息将一个接一个地处理,因此先进先出。
我有一个问题,我似乎无法在网上找到答案。
下面我以例子的形式提问:
假设我有一个 FIFO 队列。队列收到 10 条消息。我有一个 Lambda 函数,该函数订阅了从批量大小为 5 的队列中提取的上述队列。
现在,当我说...时,我对 SQS 的理解是否正确?
- Lambda 函数将被调用两次。
- 第二次调用将在第一次调用完成后运行开始。
- 每次调用将处理 5 条消息,每条消息将同时(并行)处理。
这些说法都正确吗?如果不是,哪些是不正确的,为什么?
我已阅读 SQS 文档,但没有看到任何提及上述所有陈述的内容。
在评论的帮助下,我现在明白了我的解决方案需要什么。
假设批量大小为 5。
假设所有消息都具有相同的消息组 ID,消息将从 SQS 分批消费(5 批次)。这意味着 Lambda 函数的 2 次调用。
批处理中的每条消息将一个接一个地处理,因此先进先出。