As per this document http://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: http://www.windowsazure.com/en-us/documentation/articles/install-configure-powershell/
a. Download Azure PowerShell - http://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
Cloud Integration Engineering
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?
I receive the following error using your method of creating a new namespace...
"New-AzureSBNamespace : <string xmlns="schemas.microsoft.com/.../">Request to a downlevel
At line:1 char:1
+ New-AzureSBNamespace myapp 'West Europe' $true
+ CategoryInfo : CloseError: (:) [New-AzureSBNamespace], CloudException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceBus.NewAzureSBNamespaceCommand"
Open Azure Powershell and run the following command:-
Enter the credentials to connect to your azure account
and then run below command
New-AzureSBNamespace -Name <NameOfTheNameSpace> -Location <Region> -CreateACSNamespace $true -NamespaceType Messaging
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.nz
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.
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 Messaging
when i click on given url to download Azure powershell:
it download this exe: WindowsAzurePowerShell.3f.3f.3fnew.exe, if we execute this it opens WEB PI which is throwing some error in logs.
Has any face this problem, is there any alternate link to download and configure azure powershell
this is correct url to download Azure PowerShell MSI directly, go.microsoft.com/fwlink
I am seeing this error.
New-AzureSBNamespace : A parameter cannot be found that matches parameter name 'CreateACSNamespace'.
At line:3 char:61
+ New-AzureSBNamespace -Name vargupsbtest -Location "West US" -CreateACSNamespace ...
+ CategoryInfo : InvalidArgument: (:) [New-AzureSBNamespace], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.WindowsAzure.Commands.ServiceBus.NewAzureSBNamespaceCommand