过滤Azure服务总线主题

时间:2016-10-26 14:38:25

标签: azure azureservicebus

我有一个主应用程序,允许用户编辑他们的所有数据(大约20个字段)。当这更新时,我将其添加到服务总线主题,我有系统订阅的其他区域。

其中一个订阅仅关注单个字段是否更新(电话号码)。我想知道处理这个问题的最佳方法是什么?

查看GitHub示例here,它声明:

  

选择复杂过滤规则的成本是订阅,主题和命名空间级别的总体消息吞吐量较低,因为评估规则会花费计算时间。应用程序应尽可能选择相关过滤器而不是类似SQL的过滤器,因为它们在处理方面效率更高,因此对吞吐量的影响更小。

因此,根据我可以收集的内容,我可以使用properties类上的BrokeredMessage属性添加已更新的属性,并根据该属性进行过滤,但不建议根据上述语句进行过滤。 / p>

我可以让消息通过并对其进行操作(这只会将表中的一行更新为相同的值)但这似乎是多余的。

我还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

如果您要为该订阅过滤预定义值,请使用CorrelationFiter。如果它需要条件匹配(例如以区号321开头的电话号码),那么SqlFilter绝对没问题。这实际上取决于您要执行多少过滤。我的建议是基准测试和测量性能,调整过滤器以获得可选结果。