如何根据字典键筛选 Azure Servicebus 主题订阅
How to filter the Azure Servicebus Topic Subscription based on the dictionary key
我有一个 Azure 服务总线主题,多个 subscriptions.message 将以字典类型发布。基于字典键,我将能够过滤消息。所有示例均基于层次结构 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、标签等)或自定义属性(key/value 对形式的用户定义元数据)上定义过滤规则。
有关设置过滤规则的示例,请参见此link:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-filter-examples。
您可以做的一件事是将状态(“已启动”、“已处理”或“待定”)定义为消息的自定义属性之一(例如“MessageStatus”),然后您可以定义过滤规则属性.
我有一个 Azure 服务总线主题,多个 subscriptions.message 将以字典类型发布。基于字典键,我将能够过滤消息。所有示例均基于层次结构 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、标签等)或自定义属性(key/value 对形式的用户定义元数据)上定义过滤规则。
有关设置过滤规则的示例,请参见此link:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-filter-examples。
您可以做的一件事是将状态(“已启动”、“已处理”或“待定”)定义为消息的自定义属性之一(例如“MessageStatus”),然后您可以定义过滤规则属性.