我正在使用azure服务总线主题和订阅机制,并希望处理所有死信队列中的消息。
此外,我想通过C#中的azure web作业处理消息,并将它们发送回队列。所以我想知道如何通过我的应用程序处理deadletter队列中的消息?
答案 0 :(得分:5)
当消息被破坏时,它会进入读取它的订阅的死信队列。除了将/$DeadLetterQueue
附加到订阅名称之外,您可以像访问原始订阅一样访问它。
答案 1 :(得分:1)
此外,我想通过C#中的azure web作业处理消息,并将它们发送回队列。
当spodger指出你的死信订阅的路径是:
{topic-path}/Subscriptions/{subcription-name}/$DeadLetterQueue
您可以使用WebJobs SDK for Service Bus并利用 ServiceBusTrigger 访问您的死信队列消息,如下所示:
public void ProcessDeadletterQueue(
[ServiceBusTrigger("topicName", "subscriptionName/$DeadLetterQueue")] BrokeredMessage message)
{
//TODO:
}
有关详细信息,请参阅here。
答案 2 :(得分:1)
当一条消息从服务总线实体(队列或主题订阅)中被删除时,它将被移动到同一实体的死者路径中。邮件的自定义属性 DeadLetterReason 和 DeadLetterErrorDescription 中提供了死信的原因。
为了接收死信,
client/login