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

Lambda无法向DLQ写入消息,是否需额外配置API Gateway或Lambda?

核心原因

你配置的是Lambda异步调用场景的DLQ规则,但API Gateway默认以**同步调用(RequestResponse模式)**触发Lambda,该模式下Lambda执行错误不会触发DLQ投递逻辑,因此DLQ无写入记录。


需要补充/调整的配置

  • 修改API Gateway的Lambda调用模式为异步
    1. 进入对应API的「集成请求」配置页
    2. 找到Lambda集成的调用类型参数,将默认值RequestResponse改为Event
    3. 保存配置后重新部署API生效
  • 确认权限配置无遗漏:Lambda执行角色必须持有目标SQS队列的sqs:SendMessage权限,跨账号场景下还需要额外配置SQS队列的资源策略允许Lambda角色写入
  • 确认异常触发逻辑符合预期:只有Lambda判定为执行失败的请求才会投递DLQ(包括代码抛出未捕获异常、函数超时、内存不足等场景),如果代码内手动捕获异常并返回正常响应,Lambda会判定为执行成功,不会投递DLQ

可选校验操作

你可以先通过CLI手动异步触发Lambda,排除DLQ本身配置错误的问题:

aws lambda invoke --function-name <你的Lambda函数名> --invocation-type Event --payload '{"test_key":"test_val"}' /tmp/invoke_result

执行后查看DLQ是否有消息流入,确认基础配置正常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:48:05