Service Bus namespace creation on portal no longer has ACS connection string
As per this document https://msdn.microsoft.com/en-us/library/dn170478.aspx we have both ways of Authenticating available ACS and SAS. But if I create a Service Bus Namespace there is no ACS option under connection strings.
The document above has this statement “For example, if you create a Service Bus namespace called contoso.servicebus.windows.net, a companion ACS namespace called contoso-sb.accesscontrol.windows.net is provisioned automatically. For all namespaces that were created before August 2014, an accompanying ACS namespace was created.” I had missed this operative part as well, someone has rightly said “To err is human”, so don’t worry if even you missed this in the first read.
My colleague Jaganathan provided the following PowerShell steps which can be used to get the companion ACS namespace for new Service Bus namespace. But if federated authentication is not required by Service Bus we recommend using the SAS connection string in the application.
If want to use ACS authentication (old behavior), they will need to use the PowerShell command below to create the namespace.
1. Acquisition experience: https://www.windowsazure.com/en-us/documentation/articles/install-configure-powershell/
a. Download Azure PowerShell - https://go.microsoft.com/fwlink/p/?linkid=320376&clcid=0x409
b. Configure PowerShell to talk to Azure account:
i. run the command "Add-AzureAccount" and provide Live ID user name/password to connect to a default Azure subscription.
2. Create a new Azure Service Bus namespace using the command –
New-AzureSBNamespace -Name mynamespace -Location "Central US" -CreateACSNamespace $true -NamespaceType Messaging
The output should be something similar to
Name : mynamespace
Region : Central US
DefaultKey : 1eKDTIYEACFP7Geiy5QV/hqJnWHeroJyKk/QAmv42Rw=
Status : Active
CreatedAt : 8/25/2014 3:36:47 PM
AcsManagementEndpoint : https://mynamespace-sb.accesscontrol.windows.net/
ServiceBusEndpoint : https://mynamespace.servicebus.windows.net/
ConnectionString : Endpoint=sb://mynamespace.servicebus.windows.net/; SharedSecretIssuer=owner;SharedSecretValue=1eKDTIYEACFP7Geiy5QV/hqJnWHeroJyKk/QAmv42Rw=
3. Once created this way the portal will display ACS credentials, as before.
Note : For existing Service Bus namespace first delete the namespace from Azure Portal and recreate it from the PowerShell command. This will get re-created immediately if it’s being created in the same subscription. If the deletion and re-creation is being done in two distinct subscription then there is blocking period of 7 days and you need to wait for that.
Details - https://msdn.microsoft.com/en-us/library/azure/hh690930.aspx
Angshuman Nayak
Cloud Integration Engineering
Comments
Anonymous
September 24, 2014
I have used the command you have listed above in powershell and I keep receiving an error that the specified service namespace is not available. I tried to replace the namespace with something different and copy and paste your exact command. I still get the error. Could it because I am using a free trial of azure?Anonymous
October 26, 2014
The comment has been removedAnonymous
November 25, 2014
Hi,Open Azure Powershell and run the following command:-Add-AzureAccountEnter the credentials to connect to your azure accountand then run below commandNew-AzureSBNamespace -Name <NameOfTheNameSpace> -Location <Region> -CreateACSNamespace $true -NamespaceType MessagingAnonymous
December 01, 2014
Hi,I've created a small C# application that creates a new namespace using Azure REST API. Source code and executables can be found here mega.co.nzAnonymous
December 02, 2014
Thank you for this post.I ran the cmdlets and it was successful, but now it is not displaying in the azure management portal. I'm i missing something?I Can connect to the service bus using the relay service i create.Anonymous
December 02, 2014
Never mind my post..i just realized what happened. I was logged into the wrong azure account and it created the service bus there.Just as an update i had to use the following cmdlet:New-AzureSBNamespace -Name mynamespace -Location "Central US" -NamespaceType MessagingAnonymous
December 09, 2014
The comment has been removedAnonymous
December 10, 2014
this is correct url to download Azure PowerShell MSI directly, go.microsoft.com/fwlinkAnonymous
March 18, 2015
I am seeing this error.New-AzureSBNamespace : A parameter cannot be found that matches parameter name 'CreateACSNamespace'.At line:3 char:61New-AzureSBNamespace -Name vargupsbtest -Location "West US" -CreateACSNamespace ... ~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [New-AzureSBNamespace], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.WindowsAzure.Commands.ServiceBus.NewAzureSBNamespaceCommandAnonymous
June 02, 2015
New-AzureSBNamespace : A parameter cannot be found that matches parameter name 'CreateACSNamespace'. Does this script still work ??Anonymous
June 07, 2015
The comment has been removedAnonymous
June 08, 2015
Use Just the below script it works - New-AzureSBNamespace -Name 'testLOB' -Location 'South Central US' CreateACSNamespace parameter has been deprecated in latest version of Azure SDK [2.5 and above].Anonymous
July 02, 2015
The "specified service namespace is not available" error may be caused by a name that is less than 6 characters.Anonymous
July 06, 2015
I did the same thing and it worked but on using the connection string I'm getting this error: Fatal error: Uncaught HTTP_Request2_LogicException HTTP_Request2 needs an absolute HTTP(S) request URL. What could be the solution for this??Anonymous
September 29, 2015
I've just run into the same problem, I hope this will help someone: www.stuffon.net/.../who-to-setup-azure-service-bus-relay.html