You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Service Bus SQL Filter按Client Id过滤失效问题求助

解决Azure Service Bus Topic订阅SQL Filter按Client Id过滤失效的问题
  • 删除默认规则:新建订阅默认自带$Default规则(过滤条件为1=1,会接收所有消息),如果没删除这个规则,哪怕添加了自定义SQL Filter,订阅也会因满足默认规则接收所有消息。前往Azure门户找到对应订阅的规则列表,删除$Default,只保留你的Client Id过滤规则。
  • 严格匹配属性名与大小写:SQL Filter里的字段名必须和消息携带的自定义属性完全一致,包括大小写。比如消息属性是ClientId,过滤器不能写成Client ID或clientid;如果属性名带空格,要用方括号包裹,比如[Client Id] = 'xxx'。
  • 确认Client Id在自定义属性中:SQL Filter仅能过滤消息的自定义属性/系统属性,无法直接过滤消息体内容。检查生产者代码,确保Client Id是添加到消息的自定义属性集合中(比如.NET里是message.ApplicationProperties["ClientId"] = "xxx"),而非放在消息Body里。
  • 验证过滤器语法与逻辑:检查SQL表达式是否正确,比如必须使用英文单引号,逻辑符合预期。比如要接收Client Id为ABC123的消息,过滤器应为ClientId = 'ABC123',避免写错运算符(比如把=写成!=)或使用中文引号。
  • 确认过滤器已生效:在Azure门户重新查看订阅的过滤器配置,确保保存的是最新的正确规则,没有残留旧的错误配置。
  • 用新消息测试:过滤器仅对配置完成后发送的消息生效,之前已发送到Topic的消息不会被过滤。发送新的带正确Client Id属性的消息,验证是否只有符合条件的消息被接收。

内容的提问来源于stack exchange,提问作者RGS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 01:51:01