使用新 Azure.messaging.servicebus 获取活动消息数

Get active message count with the new Azure.messaging.servicebus

是否有任何选项可以使用新的 Azure.messaging.servicebus 包检索队列的活动消息数?

对于旧的 Microsoft.azure.servicebus,您可以使用公开 GetQueueRuntimeInfoAsync(String, CancellationToken) 的 ManagementClient

var managementClient = new ManagementClient("queue connection string"));
var runtimeInfo = await managementClient.GetQueueRuntimeInfoAsync("queueName");

var messagesInQueueCount = runtimeInfo.MessageCountDetails.ActiveMessageCount;

有没有办法实现类似的东西? 谢谢。

可以。起点是类似的管理客户端,ServiceBusManagementClient。它公开了访问实体运行时信息的方法,例如 GetQueueRuntimePropertiesAsync(),returns QueueRuntimePropertiesQueueRuntimeProperties 对象包含所有信息,包括 ActiveMessageCount.