是否可以在 ServiceBus 死信队列消息上设置 TTL?

Is it possible to set up a TTL on a ServiceBus Dead Letter Queue messages?

可以为 Azure Service Bus 中的消息设置 TTL。我想知道是否有可能对死信队列做同样的事情?

我想要实现的是“自动清理”可能不再相关的旧消息的 DLQ,这样我们就不需要手动执行此操作(不支持盒)。

What I want to achieve is "auto-cleaning" of the DLQ of the old messages that are probably not relevant anymore anyway so that we don't need to do this manually (which is not supported out of the box either).

您可以接收和删除死信队列中的消息,但您不能在死信消息上设置 TTL,因为死信消息是由服务创建并移动到子队列中的。虽然死信队列在很多概念上都模仿了常规队列,但事实并非如此。

其中一个半自动化的方法是创建一个流程来查看消息并根据您定义的条件(例如消息期限)完成。遗憾的是,没有查看 general 中消息的好方法。对于死信消息,除了查看所有消息然后过滤掉需要采取措施的消息外,我们无能为力。

另一种方法是将那些死信消息转换到数据库中,然后根据定义的标准有一个进程退出w/o需要不断地查看所有消息。