问题描述
我有一个非常简单的要求,即为订阅设置规则,以便如果优先级为低,则会收到一条消息。我没想到这很难做到,而且行不通
我的留言在下面
{
"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>
提升到标题中。