首页 > 解决方案 > SQS批次中的所有消息是否在达到最大redrive(Retry)策略数后都发送到Dead Letter Queue

问题描述

我有一个 SQS 队列,这个队列的消费者是一个 lambda,未处理的消息被发送到一个重驱动策略为 10 的死信队列。

我的 SQS 队列的批处理大小为 5,特定批处理中的所有消息将发送到 DLQ,还是仅将超过 10 次重试尝试且未处理的消息发送到 DLQ。

如果一批 5 条消息中的 3 条消息被成功处理,那么 5 条消息将全部进入 DLQ 还是只有 2 条没有被处理。

标签: amazon-web-servicesamazon-sqsdead-letter

解决方案


将 msgs 发送到 DQL 的过程独立于 lambda 函数或其批处理设置。SQS 评估是否应根据每条消息将消息发送到 DLQ。它不取决于您的 lambda 函数或 lambda 使用的批量大小。

所以只有 2 个会被发送到 DLQ,而不是整个批次。


推荐阅读