John McArthur
John McArthur

Reputation: 1024

Use Powershell with Azure to retrieve the ConnectionString of an AuthoriztionRule of a Service Bus Topic

I'm a bit of an Azure & Powershell newbie.

I'm trying to write PowerShell scripts to create an environment that can be published to from Azure DevOps.

As part of that, I'm creating a Service Bus with multiple topics. Each of the topics will have multiple Authorization Rules - one for publication and one for subscription.

I have the scripts for this working. However, I need to get the connection strings for these rules and save them to a key vault, to make them available to apps.

This is where I have become stuck.

This is similar to my existing code:

   New-AzServiceBusTopic -ResourceGroupName myResourceGroup -Namespace myServiceBus -EnablePartitioning $false -Name myTopic

   New-AzServiceBusAuthorizationRule `
      -ResourceGroupName myResourceGroup `
      -Namespace myServiceBus `
      -Topic myTopic`
      -Name myTopic.pub  `
      -Rights  @("Send") 

In the Azure Portal, I would click into the Service bus and Topic, select Shared Access Policies and click on the policy. It would show me the SAS Policy with the Primary Connection String.

Is there any way in PowerShell to get the Primary Connection String?

Thanks

Upvotes: 1

Views: 1007

Answers (1)

Ivan Glasenberg
Ivan Glasenberg

Reputation: 29985

If you have azure powershell Az.ServiceBus module installed, you can directly use this command: Get-AzServiceBusKey.

For example:

Get-AzServiceBusKey -ResourceGroup Default-ServiceBus-WestUS -Namespace SB-Example1 -Name AuthoRule1

Upvotes: 1

Related Questions