如何解决如何根据字典键过滤 Azure Servicebus 主题订阅
我有一个 Azure Servicebus 主题和多个订阅。消息将以字典类型发布。基于字典键,我将能够过滤消息。所有示例均基于层次结构 https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-sql-filter#property_name 显示。这是有效负载,我想根据字典键进行过滤,即 DataReady、Datapending、Dataprocessed。
Message 1:
{
"DataReady": "{\"RequestId\":\"605dc8dda700a7b9c25eb22a\"\"Status\":"Initiated\"}"
}
Message 2:
{
"DataProcessed": "{\"RequestId\":\"605dc8dda700a7b9c25eb22a\"\"Status\":"Processed\"}"
}
message 3:
{
"DataPending": "{\"RequestId\":\"605dc8dda700a7b9c25eb22a\"\"Status\":"pending\"}"
}
解决方法
Azure 服务总线不支持基于消息内容过滤消息。您可以仅在消息的系统属性(如 ID、标签等)或自定义属性(键/值对形式的用户定义元数据)上定义过滤规则。
有关设置过滤规则的示例,请参阅此链接:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-filter-examples。
您可以做的一件事是将状态(“已启动”、“已处理”或“待处理”)定义为消息的自定义属性之一(例如“MessageStatus”),然后您可以定义过滤规则财产。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。