Azure服务总线AddMessage返回401

本文关键字:返回 AddMessage 总线 服务 Azure | 更新日期: 2023-09-27 17:59:06

以下AddMessage调用(从另一篇文章借用的代码)失败,并显示"远程服务器返回错误:(401)未授权。"

var queue = new CloudQueueClient(
     new Uri("https://<service-account>.servicebus.windows.net/"), 
     new StorageCredentials("access1", "xxx")).GetQueueReference("queue1");
queue.AddMessage(new CloudQueueMessage("Hello"));

其中xxx是从Azure的配置屏幕复制的44个字符的PRIMARY KEY。它不包含任何"特殊"字符。有人看到我哪里错了吗?使用服务级别的服务访问策略凭据会出现相同的401错误。

这是我的服务帐户的Azure策略配置。

(我确实尝试了另一种方法,但遇到了另一个障碍服务总线连接字符串问题)

Azure服务总线AddMessage返回401

以下是您的操作方法。请确保您在项目中添加了对Microsoft.ServiceBus.dll的引用。

            var queueClient = QueueClient.CreateFromConnectionString(ConnectionString, queueName);

现在,您可以使用queueClient对该队列执行操作,如添加消息、读取消息等。

要在服务总线级别执行操作(如创建队列),您需要获得NamespaceManager的实例,如下所示:

        var manager = NamespaceManager.CreateFromConnectionString(ConnectionString);
        manager.CreateQueue(queue);

我强烈建议您阅读本指南,开始使用服务巴士:https://azure.microsoft.com/en-in/documentation/articles/service-bus-dotnet-get-started-with-queues/.