Skip to main content

Azure Powershell : Loop through each service bus connections and queue to get ActiveMessageCount and deadLetterMessageCount

Following powershell script can be used to loop through each service bus connections and queue to get Activate Message count and Dead Letter message count.

Select-AzSubscription -Subscription "SubscriptionName"

# Fetch all SB namespaces in subscription
Write-Host "Getting SB Namespaces..."
$sbNameSpaces = Get-AzServiceBusNamespace 

[System.Collections.ArrayList]$sbConnectionStrings = @()

Write-Host "Getting Namespace connection strings, please wait..."
foreach ($sbNameSpace in $sbNameSpaces) {
    $sbResult = Get-AzServiceBusKey -ResourceGroupName $sbNameSpace.ResourceGroupName -Namespace $sbNameSpace.Name -Name RootManageSharedAccessKey
    [void]$sbConnectionStrings.Add($sbResult)
}

# Loop all service bus connections
foreach ($sbConnectionString in $sbConnectionStrings) {
    
    # Connect to the Mangement method 
    $managementClient = [Microsoft.Azure.ServiceBus.Management.ManagementClient]::new($sbConnectionString.PrimaryConnectionString)
     #$test = [Microsoft.Azure.ServiceBus.Management.ManagementClient]::new($hello)

    # Get queue name and use Regex to get namespace name
    $sbQueues = $managementClient.GetQueuesAsync()
    $NameSpace = [regex]::match($sbConnectionString.PrimaryConnectionString,'sb\:.*?\.').Value
    
    # Loop all queues and parse for dead-letters
    foreach ($sbQueue  in $sbQueues.Result) {
        $QueueName = $sbQueue.Path
        $QueueRunTime = $managementClient.GetQueueRuntimeInfoAsync($QueueName)
        $ActiveMessageCount = $QueueRunTime.Result.MessageCountDetails.activeMessageCount
        $deadLetterMessageCount$QueueRunTime.Result.MessageCountDetails.deadLetterMessageCount
}
}

Comments

Popular posts from this blog

Azure Repo Step by Step Guide- Move / Migrate Existing/New Repository to Azure Repo

  Move/Migrate your existing/new  repository to Azure Repo   Create Your   New repository in my case I have created “ FabrikamFiber ” We will use git command to push our local repository to Azure Repo. Open command prompt and go to your local code directory : In my case it will be “C:\Ashok\Test\FabrikamFiber>” Local code directory Run the   following command step by step > git init > git remote add FabrikamFiber https://ITS@dev.azure.com/DEMO-Account/ /_git/ FabrikamFiber   (get this path from step 2. Push existing repository using command line) Change origin in actual command with your repo name > git push -u FabrikamFiber –all    Change origin in actual   command with your repo name   This should push your code repository to specified Azure repo. Please refer to following screen for your reference.   In case if you get following   error while executing push comma...

Azure blob Storage in Logic App with Access Policy using http / https connection -

Accessing Azure blob Storage in Logic App with Access Policy using http/https connection. For this, we will go to azure storage account, under container we will create two policy. 1DayAccess – Read , Create and Write permission on container with validity ReadAccessOnly – Read only permission on container. When we create Access Policy, we will also specify the Start and Expiry time of policy, the policy will work only during specified time interval. Once we have created the Access policy for Blob container, we will create Shared Access Signature for each policy. The SAS will be used to access the container for respective operations. Open Microsoft Azure Storage explorer, if don’t have storage explorer, you can download the tool and connect to your azure subscriptions. Right click the container à click Get Shared Access Signature Click required Access Policy, you will   be able to see list access policy defined. Click...