【问题标题】:Reprocess deadletter message from subscription重新处理来自订阅的死信消息
【发布时间】:2020-06-05 11:15:42
【问题描述】:

假设您有一个包含多个订阅的主题,并且您想在一个订阅的死信队列中重新提交/重新处理一条消息。

您将如何做到这一点,以便只有该订阅再次接收消息?无需所有其他订阅第二次接收消息。

据我所知,您必须再次向主题重新提交消息。这就是“ServiceBusExplorer”之类的工具的作用。

【问题讨论】:

    标签: azure-servicebus-topics azure-servicebus-subscriptions


    【解决方案1】:

    据我所知,您必须将消息重新提交给 再次讨论话题。

    没错。您需要从该订阅的 DLQ 中读取消息并将消息发布回主题。

    如果您希望原始订阅选择消息,一种可能的解决方案是定义一个自定义属性(我们称之为TargetSubscription)并将其值设置为您要选择此消息的订阅的名称.所以你从 DLQ 读取消息,添加此属性,然后将消息发送到主题。

    在此之前,您需要在此属性上定义一个 SQL 过滤器,以便具有此属性名称/值组合的任何消息仅到达它所针对的订阅。

    【讨论】:

    • Oke 不是一个理想的解决方案:我需要更改消息的原始标签值并让所有订阅都有一个 OR 子句:WHERE label = "original label' OR label = 'DLQ-specific-订阅”并创建一个新的 MessageId,因为该主题具有重复消息检测:)
    猜你喜欢
    • 2018-10-25
    • 2020-02-14
    • 1970-01-01
    • 2021-06-21
    • 2015-09-23
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多