用例:
- 我们使用 Azure 服务总线主题。
- 根据业务规则,我们有时会安排在将来将消息传递到主题。
- 如果系统配置错误,我们需要取消特定主题的所有计划消息。
- 我们没有每个计划消息的序列号。
到目前为止我发现的:
- 根据 https://blogs.msdn.microsoft.com/servicebus/2016/07/11/cross-post-canceling-scheduled-messages/,如果我有特定计划消息的序列号,则可以取消该计划消息。
- 我没有找到与此主题相关的任何其他 API。可能是我不知道在哪里查找此信息。
问题:
- 是否可以在不知道任何序列号的情况下删除特定主题的所有计划消息?
简短的回答是"否"。
当您计划消息并知道需要取消其中一些消息时,您应该保留在使用client.CancelScheduledMessageAsync(sequenceNumber)
进行计划时返回的SequenceNumber
。我在这里写了关于此选项的博客。I. 您的情况,您需要一个TopicClient
来安排消息。