如何解决服务总线规则中的简单过滤器不起作用
我有一个非常简单的要求,即为订阅设置规则,以便如果优先级为低,则会收到一条消息。我没想到这很难做到,而且行不通
我的留言在下面
{
"messageId": "90db0000-d0ef-aeb6-cb37-08d86a2d0015","conversationId": "90db0000-d0ef-aeb6-6512-08d86a2d0018","sourceAddress": "ADDRESS","destinationAddress": "sb://MYBUS.servicebus.windows.net/my-topic","messageType": [
"urn:message:Messaging.Services.Models:MyMessage"
],"message": {
"messageIdentifier": "f79345cb-ce6a-445c-85b6-d8003eb52046","priority": "LOW"
},"sentTime": "2020-10-06T19:21:18.0426039Z","headers": {},"host": {
"machineName": "MACHINE","processName": "Application","processId": 27640,"assembly": "Application","assemblyVersion": "1.0.0.0","frameworkVersion": "3.1.8","masstransitVersion": "7.0.4.0","operatingSystemVersion": "Microsoft Windows NT 6.2.9200.0"
}
}
我认为语法就像message.priority =“ LOW”一样简单。
然后我尝试针对消息正文本身创建一条规则,对destinationAddress进行过滤,该规则也未选择任何消息
这真令人沮丧,有人可以帮忙吗?
我正在使用Service Bus Explorer
保罗
解决方法
同意上一个答案。 从“ MS Docs”>“所有过滤器”评估邮件属性。筛选器无法评估邮件正文。 看到这里:https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters
, Azure Service Bus筛选器在标头/属性上运行,并且无法访问消息正文/有效负载。您需要将<ul>
{state.list.map((item,index) => (
<li key={index}>{item}</li>
))}
</ul>
提升到标题中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。