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策略配置。
(我确实尝试了另一种方法,但遇到了另一个障碍服务总线连接字符串问题)
以下是您的操作方法。请确保您在项目中添加了对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/.