2016-01-16 6 views
3

Я пытаюсь просто создать новую очередью хранения с помощью Azure, но он продолжает сбой без объяснений, создание таблиц очень просто, это соответствующий код:Azure - создание очереди с сохранением возвращает «(400)« плохой запрос »

 private CloudTable userTable; 
     private CloudTable petTable; 
     private CloudQueue healingQueue; 

     public override bool OnStart() 
     { 
      CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("connectionString")); 
      CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); 
      userTable = tableClient.GetTableReference("users"); 
      userTable.CreateIfNotExists(); 
      petTable = tableClient.GetTableReference("pets"); 
      petTable.CreateIfNotExists(); 

      // This is where I create the queue: // 
      CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); 
      healingQueue = queueClient.GetQueueReference("healQueue"); 
      healingQueue.CreateIfNotExists(); // This line makes the code crash. 
     } 

Код врезается в строке healingQueue.CreateIfNotExists(); с объяснением (400) bad request

Таблицы создаются только в порядке поэтому я полагаю, что нет никаких проблем с учетной записью хранения, любые идеи, что я могу сделать?

ответ

12

Проблема заключается в следующей строке кода:

healingQueue = queueClient.GetQueueReference("healQueue"); 

По сути причина вы получаете эту ошибку, потому что вы выбираете недопустимое имя для очереди. Попробуйте использовать healqueue (все в нижнем регистре).

См. Эту ссылку для правил именования очередей: https://msdn.microsoft.com/en-us/library/azure/dd179349.aspx.

+2

Даже если бы я работал над этим куском кода за годы milion, я бы никогда не подумал об этом, до сих пор Azure не разочаровывает (сервер может вернуть что-то вроде «символы верхнего регистра недопустимы» вместо «плохого запроса»,). В любом случае, большое спасибо, ты спас мне много неприятностей! –

+2

Я согласен с вами в том, что сообщения об ошибках могут быть более наглядными. Когда вы будете играть больше с Azure, если вы получите 400 ошибок от службы хранения, найдите имена, типы данных и значения. Например, посмотрите эту тему: http://stackoverflow.com/questions/14859405/azure-table-storage-returns-400-bad-request/ –

+0

Никогда бы не понял это без вашего ответа. миллион + 1 вам! –