如何删除Azure Service Bus队列中的死信?
我可以处理队列中的消息......
var queueClient = QueueClient.CreateFromConnectionString(sbConnectionString, queueName);
while (queueClient.Peek() != null)
{
var brokeredMessage = queueClient.Receive();
brokeredMessage.Complete();
}
但无论如何都看不到处理死信的消息
答案 0 :(得分:4)
诀窍是使用deadletter path
获取队列的QueueClient.FormatDeadLetterPath(queueName)
。
请尝试以下方法:
var queueClient = QueueClient.CreateFromConnectionString(sbConnectionString, QueueClient.FormatDeadLetterPath(queueName));
while (queueClient.Peek() != null)
{
var brokeredMessage = queueClient.Receive();
brokeredMessage.Complete();
}
答案 1 :(得分:2)
我们的GitHub样本仓库(https://github.com/Azure-Samples/azure-servicebus-messaging-samples)提供了一些很棒的样本。 DeadletterQueue项目应该向您展示如何在代码中执行此操作的示例:
'<script src="https://cdn.jsdelivr.net/json3/3.3.2/json3.js"></script>' +
希望有所帮助!
答案 2 :(得分:0)
Snackbar snackbar = Snackbar.make(getView(), "Your Message", Snackbar.LENGTH_LONG);
snackbar.show();