使用 Microsoft.Azure.Management.ServiceBus 获取队列消息计数

Get queue message count using Microsoft.Azure.Management.ServiceBus

我需要一个关于如何对服务总线队列进行 CRUD 操作的示例。

我实际上需要一个 Microsoft.Azure.Management.ServiceBus.SBQueue class 的实例,所以我可以计算该队列中的消息。

旧的方法是使用 ManagementClient

var managementClient = new ManagementClient(connectionString);
var queueRuntimeInfo = await managementClient.GetQueueRuntimeInfoAsync(queueName);
Console.WriteLine(queueRuntimeInfo.MessageCount);

更现代的方法是使用ServiceBusAdministrationClient

var client = new ServiceBusAdministrationClient(connectionString);
var runtimeProperties = await client.GetQueueRuntimePropertiesAsync(queueName);
Console.WriteLine(runtimeProperties .ActiveMessageCount);

使用 ServiceBusAdministrationClient()

var client = new ServiceBusAdministrationClient(_connectionString);
QueueRuntimeProperties queue = await client.GetQueueRuntimePropertiesAsync(queueName);
int count = (int)queue.ActiveMessageCount;