【问题标题】:Azure Service Bus Schedules Messages cancellation using the message content or message header dataAzure 服务总线使用消息内容或消息头数据安排消息取消
【发布时间】:2020-07-24 00:13:34
【问题描述】:
我想使用消息内容取消服务总线queue/topic中的预定消息。
例如:queue/topic 中的预定消息将是这样的{UserName:'Scott', Test: 'This is test msg'}
我想使用UserName 取消日程安排消息
注意:我没有保存取消令牌,我可以使用它来取消预定的消息。
【问题讨论】:
标签:
azureservicebus
azure-servicebus-queues
azure-servicebus-subscriptions
【解决方案1】:
AFAIK,无法根据用户属性取消预定消息。取消预定消息的唯一方法是通过它的 SequenceNumber 属性。
感谢 Sean Feldman 在同一主题上提供的 blog post,如果您知道消息的 SequenceNumber 属性,可以通过以下方式取消预定消息:
var sequenceNumber = await queueClient.ScheduleMessageAsync(message, DateTimeOffset.UtcNow.AddSeconds(300)).ConfigureAwait(false);
await queueClient.CancelScheduledMessageAsync(sequenceNumber).ConfigureAwait(false);