【发布时间】:2020-04-11 17:43:45
【问题描述】:
有什么方法可以根据消息的内容删除消息吗?由于所有这些消息都存储在 Bus 中,我们是否可以过滤消息并仅获取/删除具有相同用户 ID/电子邮件(消息内容中的属性)的消息?
如果我们使用主题并在消息头/用户属性中添加用户的唯一标识符。那个时候可以过滤吗?我的要求也是过滤主题中的预定消息。
【问题讨论】:
标签: azureservicebus
有什么方法可以根据消息的内容删除消息吗?由于所有这些消息都存储在 Bus 中,我们是否可以过滤消息并仅获取/删除具有相同用户 ID/电子邮件(消息内容中的属性)的消息?
如果我们使用主题并在消息头/用户属性中添加用户的唯一标识符。那个时候可以过滤吗?我的要求也是过滤主题中的预定消息。
【问题讨论】:
标签: azureservicebus
我们可以过滤消息并仅获取/删除具有相同内容的消息吗 user-id/email(消息内容中的一个属性)
AFAIK,答案是否定的。您不能基于自定义属性对消息进行服务器端过滤。您只需要在客户端获取消息并进行过滤。
更新
如果我们使用主题并在消息中添加用户的唯一标识符 标题/用户属性。那个时候可以过滤吗?我的要求 也是过滤topic中的定时消息。
如果您设置了过滤规则,以便根据这些规则将消息发送到不同的订阅,那么删除这些消息会变得更容易。在这种情况下,只有满足过滤条件的消息才会出现在订阅中,因此您可以简单地以Receive/Delete 模式获取所有消息以删除所有消息。同样,即使在这种情况下也不支持服务器端过滤。
【讨论】:
Can we also filter the scheduled messages - 不。我刚刚回答了另一个关于预定消息的问题:stackoverflow.com/questions/61153962/…。