当我使用基本代码将消息添加到存储队列时,我使用的是 Nuget 版本 WindowsAzure.Storage 8.1.1。
这是我在网上找到的代码狙击,它在 queue.CreateIfNotExists() 上失败;
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["AzureWebJobsStorage"]);
// Create the queue client.
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
// Retrieve a reference to a queue.
CloudQueue queue = queueClient.GetQueueReference("queueName");
// Create the queue if it doesn't already exist.
queue.CreateIfNotExists();
// Create a message and add it to the queue.
CloudQueueMessage couldMessage = new CloudQueueMessage(message);
queue.AddMessage(couldMessage);
在这里使用 Fiddler 是我的要求(安全性已设置 xxx )
PUT https://xxxxxx.queue.core.windows.net/queueName HTTP/1.1
User-Agent: Azure-Storage/8.1.1 (.NET CLR 4.0.30319.42000; Win32NT 10.0.10240.0)
x-ms-version: 2016-05-31
x-ms-client-request-id: 95a86bb9-4438-4bf4-8c42-bed8dca317f1
x-ms-date: Wed, 26 Apr 2017 16:00:03 GMT
Authorization: SharedKey xxxxxxxx:xxxxxxxxxx/xxxxxxxx=
Host: xxxxxxxx.queue.core.windows.net
Content-Length: 0
Connection: Keep-Alive
我可以看到错误消息是:
最佳答案
只是为了正确地关闭它:Azure 存储队列名称必须全部小写。
所有命名约定都记录在 here (与注释中提供的链接不同)。
关于Azure 存储队列异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43639447/