Azure 服务总线主题和队列

Azure ServiceBus Topics and Queues

下午好伙计们,我正在经历一个有趣的情况。

我有一个主题,这个主题有两个队列,在我的源代码中,我将向该主题发送一条消息。但问题是在其中一个队列中,消息应该在 24 小时后才被读取。

是否需要在队列中进行任何配置或一些 属性 放入我发送的 BrokeredMessage?

您可以 publish/send 您的邮件安排在未来发送指定 ScheduledEnqueueTimeUtc 值。

更新:您可以利用 Filter Rule Action 订阅来设置 ScheduledEnqueueTimeUtc 值。

更新2: 过滤规则动作的想法不可行。评估是在主题(它本身就是一个队列)上完成的,而不是在订阅上完成的。更不用说几乎没有详细说明如何操作的文档了。

另一种方法是为您的订阅设置默认 TTL 并启用 "Deal Lettering On Message Expiration"。这会将 TTL 为 24 小时(或您需要的任何其他任意时间)的任何消息移至订阅的 dead-letter 队列。有了它,您可以将 "Forward Dead Lettered Messages To" 设置为端点需要处理的队列。