【发布时间】:2021-06-23 03:19:13
【问题描述】:
我想查看来自多个 Azure 服务总线队列的所有消息。之后,我想在 queueName、insertDate 之后过滤它们,并有机会在正文上进行全文搜索。
目前,我正在使用Microsoft.Azure.ServiceBus 包创建一个ManagementClient 来收集队列信息,然后使用MessageReceiver 来查看消息。
var managementClient = new ManagementClient(connectionString);
var queue = await managementClient.GetQueueRuntimeInfoAsync(queueName);
var count = queue.MessageCount;
var receiver = new MessageReceiver(connectionString, queueName);
var messagesOfQueue = new List<Message>();
for (var i = 1; i <= count; i++)
{
messagesOfQueue.Add(await receiver.PeekAsync());
}
有没有更好的方法来获取所有消息?或者有没有办法只查看适用于过滤器的消息?
我还尝试使用 WindowsAzure.ServiceBus 包中的 QueueClient.PeekBatch 方法。但是尽管我设置了正确的messageCount 参数,但该方法并没有返回所有消息。
还有包Azure.Messaging.ServiceBus...所有这些包是怎么回事?
那么我应该使用哪些包,以及基于某些过滤器查看队列消息的最佳方法是什么?
【问题讨论】:
标签: c# .net azure azureservicebus