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

调整AWS Lambda SQS触发器批量参数后消息未删除问题排查

问题:Lambda处理SQS消息后未删除,调整batchSize后队列统计异常

现象

  • 初始配置batchSize:10、batchWindow:30时,Lambda执行成功后能正常删除SQS消息
  • 把batchSize改成32后,Lambda调用频率降低,执行日志显示无异常,但队列统计彻底异常:
    • 每秒删除消息数从90-100直接降到0,且持续超过1小时
    • 飞行中消息数从约30暴涨到4000

排查细节

  • 翻遍AWS相关文档没找到对应原因
  • Lambda执行日志完全正常,没有报错信息
  • 使用的依赖版本:spring-cloud-function-adapter-aws:3.1.5、aws-lambda-java-events:3.10.0

根因与解决办法

根因是开启了Report batch item failures功能,但代码没按照AWS的要求返回消息处理状态。

解决办法:

  • 直接关闭Report batch item failures功能,消息删除逻辑立刻恢复正常
  • 如果要保留这个功能,必须在Lambda处理完消息后,返回包含失败消息项的响应,让SQS知道哪些消息处理失败(只有这些失败的会重新入队,成功的消息才会被自动删除)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:15:28