AWS SQS Boto3 手动将消息发送到死信

Posted

技术标签:

【中文标题】AWS SQS Boto3 手动将消息发送到死信【英文标题】:AWS SQS Boto3 sending messages to dead letter manually 【发布时间】:2018-10-11 14:25:42 【问题描述】:

所以我正在构建一个使用 SQS 的小型应用程序。我有一个简单的处理程序进程,它确定给定消息是否被视为已处理、标记为重试(重新排队)或无法处理(应发送到死信)。

但是,根据文档,真正向 DL 发送消息的唯一方法似乎是使用重新驱动策略,该策略在收到消息的次数已累积后运行。由于我的应用程序的性质,如果我的进程还没有准备好处理给定的消息,我可以进行几次有效的重试,但有时我可能想要对我刚刚收到的消息进行 DL。 AWS/Boto3 是否没有提供为 DL 标记特定消息的方法?

我知道我可以自己将消息发送到我认为是我自己的 DL 的另一个队列,我宁愿为此使用 AWS 的内置工具。

【问题讨论】:

【参考方案1】:

我认为没有任何限制会阻止您自己将消息发送到交易信队列。

所以只要从Q中读取消息,如果你知道它需要直接去DLQ,将它发送到DLQ并从常规Q中删除它。

【讨论】:

是的,这就是我最终所做的。我希望 AWS 能实现它,我无法想象这是一个不常见的操作

以上是关于AWS SQS Boto3 手动将消息发送到死信的主要内容,如果未能解决你的问题,请参考以下文章

正确计算发送到死信 SQS 队列的消息数

AWS SQS 消息保留期

配置 Zipkin 以跟踪 AWS SQS 消息?

Amazon SQS 死信队列:真的是死信还是毒药?

AWS ECS Docker 容器 Boto3 IAM 权限

设置手动确认 SQS 消息的 Spring Cloud AWS 问题