有没有办法在不知道序列号的情况下取消 azure 服务总线主题中的所有计划消息?

Is there a way to cancel ALL scheduled messages in azure service bus topic without knowing their sequence numbers?

用例:

  1. 我们使用 azure 服务总线主题。
  2. 根据业务规则,我们有时会安排一条消息在未来某个时间传送到某个主题。
  3. 如果系统配置错误,我们需要取消针对特定主题的所有预定消息。
  4. 我们没有每个预定消息的序列号。

到目前为止我发现了什么:

问题:

  1. 是否可以在不知道任何序列号的情况下删除针对特定主题的所有预定消息?

简答为 "no"。

当您安排消息并且知道您需要取消其中一些消息时,您应该保留在使用 client.CancelScheduledMessageAsync(sequenceNumber) 安排时返回的 SequenceNumbers。我已经在博客上介绍了这个选项 here. I. Your case, you'd need a TopicClient 来安排消息。