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

Amazon SNS HTTP订阅是否可配置4xx错误码触发投递重试

AWS SNS HTTP/HTTPS订阅投递重试相关问题解答

首先明确结论:SNS没有原生的配置项可以开启4xx错误码的投递重试,默认仅对以下场景触发重试:

  • 5xx服务端错误状态码
  • 网络连接异常(连接超时、连接被拒绝、DNS解析失败等)

设计逻辑说明

4xx属于客户端错误范畴,SNS默认判定这类错误是请求本身非法、端点主动拒绝接收消息导致,重试也大概率无法成功,因此不会进入重试队列,直接判定为投递失败。常见的4xx场景包括401未授权、403禁止访问、404端点不存在、400请求参数错误等,反复重试这类请求不仅会浪费资源,还有可能被目标端点判定为恶意攻击。

可落地的替代方案

如果你的业务场景确实需要对特定4xx错误做重试,可以通过以下两种方式实现:

  • 在自己的HTTP/HTTPS端点侧做适配:针对需要触发重试的4xx场景,不直接返回4xx状态码,改为返回5xx状态码,即可触发SNS默认的重试策略。也可以在端点侧自行缓存需要重试的消息,本地实现重试逻辑后返回200状态码,避免占用SNS的重试配额。
  • 为SNS订阅绑定死信队列(DLQ):所有投递失败的消息(包括4xx导致的投递失败)都会被转发到DLQ中,你可以自行消费DLQ中的消息,实现自定义的重试规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:48:03