【问题标题】:Subscribe one topic to another topic using Microsoft servicebus使用 Microsoft 服务总线将一个主题订阅到另一个主题
【发布时间】:2018-11-14 12:55:22
【问题描述】:

是否可以将服务总线中的一个主题订阅到同一服务总线中的另一个主题。如果可能的话,如何在运行时实现此功能(通过代码)。 谢谢。

【问题讨论】:

  • 您是否要将订阅链接到属于同一命名空间的另一个主题。如果是这样,您可以尝试使用服务总线auto-forwarding 功能。请参考这个article
  • @JoeyCai,是的,乔伊正在处理它,并且通过使用自动转发功能,一个主题对另一个主题的订阅工作完美。非常感谢你的帮助。但在某些情况下仍然发现了一些问题并试图解决它们

标签: azureservicebus servicebus azure-servicebus-topics


【解决方案1】:

正如我所说,Service Bus autoforwarding 功能使您能够将队列或订阅链接到属于同一命名空间的另一个队列或主题。

启用autoforwarding 时,服务总线自动 移除放置在第一个队列或订阅(源)中的消息,并将它们放入第二个队列或主题(目标)中。仍然可以直接向目标实体发送消息。此外,不能将子队列(例如死信队列)链接到另一个队列或主题。

您可以通过在源的SubscriptionDescription 对象上设置SubscriptionDescription.ForwardTo 属性来启用自动转发,如下例所示:

SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));

更多详情可以参考这个article

【讨论】:

    【解决方案2】:

    您可以使用自动转发属性将您的主题订阅的消息转发到另一个主题。主题订阅的主队列中的消息可以使用主题订阅的 forwardTo 属性转发到另一个主题。如果要转发主题订阅的死信子队列中的消息,可以使用主题订阅的 forwardDeadLetteredMessagesTo 属性。

    设置 forwardTo 属性的一个限制是您只能将消息转发到同一命名空间中的队列和主题。要了解有关自动转发的更多信息,请参阅 here

    【讨论】:

      【解决方案3】:

      如果您想将消息从主题 A 发送到主题 B 在主题 A 下创建订阅并将所有消息转发到主题 B。

      :)

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2021-09-28
        • 2015-11-03
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        • 2018-08-27
        • 2016-02-10
        • 2016-12-29
        • 1970-01-01
        相关资源
        最近更新 更多