问题描述
很难找到有关将所有消息放入死信队列并进行窥视的良好文档.
It is very hard to find some good documentation on getting all the messages in a deadletter queue and getting to take a peek at them.
我有一个Azure Servicebus队列,我所能找到的都是关于Azure Servicebus主题的.
I have an Azure Servicebus Queue and everything I can find is for Azure Servicebus Topics.
有人可以帮助我提供快速指南吗?
Can someone help me with a quick guide?
推荐答案
死信队列是将毒物消息移动到的辅助子队列.
Dead letter queue is a secondary sub-queue where the poison messages are moved to.
对于Azure Servicebus队列,DLQ的标准路径为queuePath/$DeadLetterQueue
.因此,您需要另一个queueClient
来读取DLQ.
In case of Azure Servicebus Queue the standard path for DLQ is queuePath/$DeadLetterQueue
.So you need to have another queueClient
to read the DLQ.
然后您将在.NET客户端中执行类似的操作.
And you will do something like this in .NET clients.
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
var client = QueueClient.CreateFromConnectionString(connectionString, "QueueName");
// do whatever regular queue reading activities
// this is for dead letter queue
var deadLetterClient = QueueClient.CreateFromConnectionString(connectionString, QueueClient.FormatDeadLetterPath(client.Path), ReceiveMode.ReceiveAndDelete);
BrokeredMessage receivedDeadLetterMessage;
while ((receivedDeadLetterMessage = deadLetterClient.Receive(TimeSpan.FromSeconds(10))) != null)
{
Console.WriteLine(receivedDeadLetterMessage);
}
这篇关于如何窥探死信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!