Azure 服务总线中 SQL 筛选器和相关筛选器之间的主要区别是什么
What is the main difference between SQL filter and correlation filter in Azure Service Bus
如 MSDN 中所述 (https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters) SQL 过滤器和关联过滤器都使用消息的系统定义和用户定义的属性。
能举个例子说明两者的区别吗?
我有一个 blog post,其中解释了所有三种过滤器类型
- 布尔过滤器
- 相关过滤器
- SQL 过滤器
相关过滤器和 SQL 过滤器之间存在一些差异。仅举几例
- 相关过滤器旨在对一些系统属性进行操作,例如
ContentType
、MessageId
、ReplyTo
、ReplyToSessionId
、SessionId
、To
,和 CorrelationId
。 SQL 过滤器不仅限于系统属性,还可以在 user/applicaiton properties/headers. 上运行
- 在相关过滤器中,多个条件是 AND-ed。 SQL 过滤器更加灵活,可以使用 AND 以及 OR 运算。
- 评估过滤器表达式的成本很小,而且几乎立即 w/o 需要额外的计算。 SQL 过滤器可能需要更多计算,但提供更多灵活性。
如 MSDN 中所述 (https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters) SQL 过滤器和关联过滤器都使用消息的系统定义和用户定义的属性。
能举个例子说明两者的区别吗?
我有一个 blog post,其中解释了所有三种过滤器类型
- 布尔过滤器
- 相关过滤器
- SQL 过滤器
相关过滤器和 SQL 过滤器之间存在一些差异。仅举几例
- 相关过滤器旨在对一些系统属性进行操作,例如
ContentType
、MessageId
、ReplyTo
、ReplyToSessionId
、SessionId
、To
,和CorrelationId
。 SQL 过滤器不仅限于系统属性,还可以在 user/applicaiton properties/headers. 上运行
- 在相关过滤器中,多个条件是 AND-ed。 SQL 过滤器更加灵活,可以使用 AND 以及 OR 运算。
- 评估过滤器表达式的成本很小,而且几乎立即 w/o 需要额外的计算。 SQL 过滤器可能需要更多计算,但提供更多灵活性。