我是初学者,服务天蓝。随着时间的推移发送到队列的消息。当消息过期时,我想收到它并调用一些方法来完成。我怎样才能做到这一点?消息到期后的服务总线
-1
A
回答
1
有一个选项可以尝试 - 在过期的邮件上启用死信。
QueueDescription.EnableDeadLetteringOnMessageExpiration物业
获取或设置一个值,该值指示此队列是否有一纸空文支持的消息到期时间。
这将向队列的DLQ发送消息。但是,这意味着如果您因为其他原因(例如交货次数超过最大值)而死信,您还会在DLQ中看到该消息。幸运的是,有一个原因属性/标题(DeadLetterReason
)。对于由于TTL到期而移动到DLQ的邮件,value will be TTLExpiredException
。
0
当消息过期时,我想接收它并调用一些方法来完成。我怎样才能做到这一点?。
据我所知,为了拿起死信消息,你可以像普通队列一样构造队列接收器。如果您有一个名为“myqueue”的队列,那么DLQ路径看起来像myqueue/$DeadLetterQueue
。
下面是用C#编写从DLQ接收消息的代码示例:
var deadletterReceiver = await receiverFactory.CreateMessageReceiverAsync(
QueueClient.FormatDeadLetterPath(queueName), ReceiveMode.PeekLock);
while (true)
{
var msg = await deadletterReceiver.ReceiveAsync(TimeSpan.Zero);
if (msg != null)
{
foreach (var prop in msg.Properties)
{
Console.WriteLine("{0}={1}", prop.Key, prop.Value);
}
await msg.CompleteAsync();
}
else
{
break;
}
}
有关详细信息,你可以参考DeadletterQueue。此外,你可以按照官方教程get-started-with-queues并选择你的开发语言。
相关问题
- 1. 未收到Azure服务总线消息
- 2. OSGi服务的消息总线
- 3. Azure服务总线消息重试TaskCancelationException
- 4. 解析服务总线Queue消息
- 5. 消息队列和服务总线的消息粒度
- 6. 互操作性Azure服务总线消息队列消息
- 7. Azure服务总线 - 对主题收到的消息的确认
- 8. 将消息从SQL添加到Azure服务总线队列
- 9. 消息从得到奇怪:服务总线/ BrokeredMessage
- 10. Azure的服务总线撮合消息泵,等待着多种消息类型
- 11. 什么是分区的消息在蔚蓝的服务总线
- 12. 抽象出服务总线/分布式消息的存在?
- 13. 通过MSMQ使用Rhino服务总线的消息
- 14. Azure服务总线 - 如何查看Azure门户中的消息
- 15. 发送自定义消息Azure的服务总线
- 16. 从Azure服务总线接收消息时的NPE队列
- 17. AZURE服务总线如何使用订阅消息来处理消息?
- 18. 消息队列服务重新启动后服务没有收到消息
- 19. 停机后消息总线与有界上下文的重新同步 - 服务总线1.0
- 20. 如何积极处理Azure服务总线队列消息
- 21. Azure函数通过nodejs获取服务总线中介消息
- 22. Azure服务总线获取所有队列消息
- 23. 企业服务总线和消息代理
- 24. Azure服务总线队列消息处理
- 25. Azure服务总线和长处理消息
- 26. IronPython Azure发送服务总线消息 - 断言错误
- 27. Azure服务总线 - 删除特定消息
- 28. Azure服务总线队列消息卡住了
- 29. 使用Azure功能处理Azure服务总线队列消息
- 30. 如何查询OSB(ALSB)服务总线消息?
http://pmichaels.net/2017/07/02/azure-service-bus-send-e-mail-message-timeout/ –