尝试创建Azure服务总线队列时出现访问错误

时间:2016-12-07 23:58:39

标签: c# azure azureservicebus

我在一个安装了最新版WindowsAzure.ServiceBus NuGet软件包的简单控制台应用程序中运行以下代码:

        var connectionString = "Endpoint=sb://<servername>/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<SharedAccessKey>";
        var queueName = "TestQueue";

        var ns = NamespaceManager.CreateFromConnectionString(connectionString);

        if (!ns.QueueExists(queueName))
            ns.CreateQueue(queueName);

并收到以下错误:

System.UnauthorizedAccessException was unhandled
  HResult=-2147024891
  Message=The remote server returned an error: (401) Unauthorized. InvalidSignature: The token has an invalid signature. TrackingId:<GUID>_G30, SystemTracker:<MyQueue>.servicebus.windows.net

我尝试了很多不同的东西来尝试解决它,包括删除和重新创建整个命名空间。我还验证了SharedAccessKey具有适当的声明(即管理)。

enter image description here

更新

早上回来继续解决这个问题后,它神秘地开始工作了,所以我想这个问题已经改变了,这里发生了什么?代码没有改变。关键没有改变。 (困惑!)

1 个答案:

答案 0 :(得分:2)

您在TrackingId:<GUID>_G30时遇到的错误表示网关MSFT支持小组应该能够提供帮助。命名空间管理操作正在通过HTTPS,我假设您已经打开,即没有任何阻止它。所以我的打赌是与Azure支持人员交谈,向他们提供TrackingId,以找出网关为何拒绝您的请求。