如何将消息发送到 azure 服务总线主题(订阅使用)逻辑应用程序发送消息连接器?

时间:2021-03-24 13:57:31

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

我有一个 Azure 服务总线主题,有两个订阅。 我想使用发送消息连接器从逻辑应用向主题发送消息。如何将消息发送到特定订阅。 现在它只需要主题名称并且没有接受订阅名称的属性,我该如何实现。

提前致谢。

2 个答案:

答案 0 :(得分:0)

服务总线中的订阅是对主题消息的隔离视图,本质上是订阅私有的消息的副本。这允许多个消费者处理主题消息而不会相互竞争。

您不能直接向订阅发布消息消息,只能向订阅关联的主题发布消息。与该主题关联的所有订阅都可以访问该消息。

如果您希望为单个消费者(或一组竞争消费者)发送消息,服务总线队列可能更适合您的场景。

答案 1 :(得分:0)

不幸的是,这是不可能的(只是逻辑应用程序不行,但一般来说)

这就是主题和订阅的工作原理。

enter image description here

  • 服务总线主题为发送方应用程序提供端点 发送消息。

  • 主题的每个订阅都会获得发送到该主题的消息的副本

主题和订阅提供了一种一对多的交流方式。

有,说可以在订阅端配置过滤器。这将有助于仅从中央池接收满足标准的那些消息。当您希望特定订阅接收它时。您可以按照与过滤条件匹配的方式发送消息。

所以,像这样:

enter image description here

Image Source

100 条消息被发送到主题,但根据过滤规则分为 30、45、25 条给每个订阅。不符合过滤条件的消息不可用于订阅。

就您而言,您需要为订阅设置过滤器。触发消息,使其仅与订阅之一匹配。

或者,如果它是 1:1 - 您可以使用队列。

在订阅级别设置过滤器的参考:

Filters Service Bus

Filtering the Service Bus

Stackthread on the implementation