async Task <long> GetMessageCount(bool deadLetterQueueData) { var client = new ServiceBusAdministrationClient(serviceBusHelper.ConnectionString); if (deadLetterQueueData) { if (queueProperties != null) { var runtimeInfoResponse = await client.GetQueueRuntimePropertiesAsync(queueProperties.Name) .ConfigureAwait(false); return(runtimeInfoResponse.Value.DeadLetterMessageCount); } else { var runtimeInfoResponse = await client.GetSubscriptionRuntimePropertiesAsync( subscriptionProperties.TopicName, subscriptionProperties.SubscriptionName) .ConfigureAwait(false); return(runtimeInfoResponse.Value.DeadLetterMessageCount); } } else { if (queueProperties != null) { var runtimeInfo = await client.GetQueueRuntimePropertiesAsync(queueProperties.Name) .ConfigureAwait(false); return(runtimeInfo.Value.ActiveMessageCount); } else { var runtimeInfo = await client.GetSubscriptionRuntimePropertiesAsync( subscriptionProperties.TopicName, subscriptionProperties.SubscriptionName) .ConfigureAwait(false); return(runtimeInfo.Value.ActiveMessageCount); } } }
protected async override Task <long> GetMessageCount(SubscriptionProperties entity, bool deadLetterQueueData) { var client = new ServiceBusAdministrationClient(serviceBusHelper.ConnectionString); if (deadLetterQueueData) { var runtimeInfoResponse = await client.GetSubscriptionRuntimePropertiesAsync( entity.TopicName, entity.SubscriptionName) .ConfigureAwait(false); return(runtimeInfoResponse.Value.DeadLetterMessageCount); } else { var runtimeInfo = await client.GetSubscriptionRuntimePropertiesAsync( entity.TopicName, entity.SubscriptionName) .ConfigureAwait(false); return(runtimeInfo.Value.ActiveMessageCount); } }
private static async Task Main(string[] args) { await Prepare.Stage(connectionString, inputQueue, topicName, subscriptionName); await using var serviceBusClient = new ServiceBusClient(connectionString); await using var queueSender = serviceBusClient.CreateSender(inputQueue); await queueSender.SendMessageAsync(new ServiceBusMessage("Kick off")); await using var topicSender = serviceBusClient.CreateSender(topicName); await topicSender.SendMessageAsync(new ServiceBusMessage("Kick off")); var client = new ServiceBusAdministrationClient(connectionString); NamespaceProperties namespaceInfo = await client.GetNamespacePropertiesAsync(); WriteLine($"Namespace Information about '{namespaceInfo.Name}'"); WriteLine($"{nameof(namespaceInfo.Alias)}: {namespaceInfo.Alias}"); WriteLine($"{nameof(namespaceInfo.CreatedTime)}: {namespaceInfo.CreatedTime}"); WriteLine($"{nameof(namespaceInfo.MessagingSku)}: {namespaceInfo.MessagingSku}"); WriteLine($"{nameof(namespaceInfo.MessagingUnits)}: {namespaceInfo.MessagingUnits}"); WriteLine($"{nameof(namespaceInfo.ModifiedTime)}: {namespaceInfo.ModifiedTime}"); WriteLine($"{nameof(namespaceInfo.Name)}: {namespaceInfo.Name}"); WriteLine($"{nameof(namespaceInfo.MessagingUnits)}: {namespaceInfo.MessagingUnits}"); WriteLine(); QueueRuntimeProperties inputQueueInfo = await client.GetQueueRuntimePropertiesAsync(inputQueue); WriteLine($"Queue Information about '{inputQueue}'"); WriteLine($"{nameof(inputQueueInfo.AccessedAt)}: {inputQueueInfo.AccessedAt}"); WriteLine($"{nameof(inputQueueInfo.CreatedAt)}: {inputQueueInfo.CreatedAt}"); WriteLine($"{nameof(inputQueueInfo.TotalMessageCount)}: {inputQueueInfo.TotalMessageCount}"); WriteLine($"{nameof(inputQueueInfo.ActiveMessageCount)}: {inputQueueInfo.ActiveMessageCount}"); WriteLine($"{nameof(inputQueueInfo.DeadLetterMessageCount)}: {inputQueueInfo.DeadLetterMessageCount}"); WriteLine($"{nameof(inputQueueInfo.ScheduledMessageCount)}: {inputQueueInfo.ScheduledMessageCount}"); WriteLine($"{nameof(inputQueueInfo.TransferDeadLetterMessageCount)}: {inputQueueInfo.TransferDeadLetterMessageCount}"); WriteLine($"{nameof(inputQueueInfo.TransferMessageCount)}: {inputQueueInfo.TransferMessageCount}"); WriteLine($"{nameof(inputQueueInfo.Name)}: {inputQueueInfo.Name}"); WriteLine($"{nameof(inputQueueInfo.SizeInBytes)}: {inputQueueInfo.SizeInBytes}"); WriteLine($"{nameof(inputQueueInfo.UpdatedAt)}: {inputQueueInfo.UpdatedAt}"); WriteLine(); TopicRuntimeProperties topicInfo = await client.GetTopicRuntimePropertiesAsync(topicName); WriteLine($"TopicInformation Information about '{topicName}'"); WriteLine($"{nameof(topicInfo.AccessedAt)}: {topicInfo.AccessedAt}"); WriteLine($"{nameof(topicInfo.CreatedAt)}: {topicInfo.CreatedAt}"); WriteLine($"{nameof(topicInfo.ScheduledMessageCount)}: {topicInfo.ScheduledMessageCount}"); WriteLine($"{nameof(topicInfo.SubscriptionCount)}: {topicInfo.SubscriptionCount}"); WriteLine($"{nameof(topicInfo.Name)}: {topicInfo.Name}"); WriteLine($"{nameof(topicInfo.SizeInBytes)}: {topicInfo.SizeInBytes}"); WriteLine($"{nameof(topicInfo.SubscriptionCount)}: {topicInfo.SubscriptionCount}"); WriteLine($"{nameof(topicInfo.UpdatedAt)}: {topicInfo.UpdatedAt}"); WriteLine(); SubscriptionRuntimeProperties subscriptionInfo = await client.GetSubscriptionRuntimePropertiesAsync(topicName, subscriptionName); WriteLine($"Subscription Information about '{subscriptionName}'"); WriteLine($"{nameof(subscriptionInfo.AccessedAt)}: {subscriptionInfo.AccessedAt}"); WriteLine($"{nameof(subscriptionInfo.CreatedAt)}: {subscriptionInfo.CreatedAt}"); WriteLine($"{nameof(subscriptionInfo.TotalMessageCount)}: {subscriptionInfo.TotalMessageCount}"); WriteLine($"{nameof(inputQueueInfo.TotalMessageCount)}: {inputQueueInfo.TotalMessageCount}"); WriteLine($"{nameof(inputQueueInfo.ActiveMessageCount)}: {inputQueueInfo.ActiveMessageCount}"); WriteLine($"{nameof(inputQueueInfo.DeadLetterMessageCount)}: {inputQueueInfo.DeadLetterMessageCount}"); WriteLine($"{nameof(inputQueueInfo.ScheduledMessageCount)}: {inputQueueInfo.ScheduledMessageCount}"); WriteLine($"{nameof(inputQueueInfo.TransferDeadLetterMessageCount)}: {inputQueueInfo.TransferDeadLetterMessageCount}"); WriteLine($"{nameof(inputQueueInfo.TransferMessageCount)}: {inputQueueInfo.TransferMessageCount}"); WriteLine($"{nameof(subscriptionInfo.SubscriptionName)}: {subscriptionInfo.SubscriptionName}"); WriteLine($"{nameof(subscriptionInfo.TopicName)}: {subscriptionInfo.TopicName}"); WriteLine($"{nameof(subscriptionInfo.UpdatedAt)}: {subscriptionInfo.UpdatedAt}"); WriteLine(); ReadLine(); }