You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda无法接收SQS FIFO队列全部消息问题排查咨询

问题成因

  • 核心原因:你使用的是FIFO类型的SQS队列,且开启了ContentBasedDeduplication: true的内容去重配置,但是5条测试消息的MessageBody完全相同,均为Publish messages to send mailer lambda。FIFO队列的内容去重规则会在默认5分钟的去重窗口期内,计算消息体的哈希值,哈希相同的消息会被判定为重复消息直接丢弃,因此后续4条消息根本没有进入队列。
  • 其他可排查点:
    1. 检查发布端Lambda的执行日志,确认5次sendMessage调用返回的MessageId是否均不相同,如果存在重复MessageId,即可确认是去重规则导致的消息丢弃。
    2. 登录AWS SQS控制台查看对应队列的可用消息数,如果队列中仅存在1条可用消息,即可确认消息在入队阶段就被拦截。
    3. 排查消费端Lambda的调用日志是否有异常报错,不过当前消费端仅做日志打印没有抛出异常,Lambda会默认确认消息,该情况概率极低。
    4. 你当前的SQSVisibilityTimeout设置为45,大于消费端Lambda的30秒超时,不存在消息未处理完就重新回到队列的配置问题,无需调整。

修复方案

  • 方案一:修改发布端代码,给每条消息设置唯一的MessageBody,比如将用户ID、booking ID等唯一字段拼接进消息体,避免内容去重误判。
  • 方案二:如果业务场景不需要内容去重能力,直接将SQS配置中的ContentBasedDeduplication属性改为false即可。

内容的提问来源于stack exchange,提问作者Abhishek wagh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:18:03