如何使用命名空间端点获取带有死信消息的azure队列列表

本文关键字:消息 azure 列表 队列 命名空间 何使用 端点 获取 | 更新日期: 2023-09-27 18:07:18

是否有办法在c#中使用将所有具有死信消息的Azure服务总线队列名称获取到特定的命名空间?

我知道我可以得到所有的队列描述使用这个:

IEnumerable<QueueDescription> queueList = namespaceManager.GetQueues();

如何将此列表筛选为仅具有死信消息的队列名称?

如何使用命名空间端点获取带有死信消息的azure队列列表

NamespaceManager.GetQueues方法允许您使用指定的filter获取服务命名空间中的所有队列:

var queues = namespaceManager.GetQueues("startswith(path, 'MyQueue') eq true");
var queues = namespaceManager.GetQueues("messageCount Gt 0");

不幸的是,你不能过滤DeadLetterMessageCount属性。

我知道的唯一解决方案是获得所有队列描述并对其进行后过滤:

var queues = namespaceManager.GetQueues()
    .Where(q => q.MessageCountDetails.DeadLetterMessageCount > 0);