2014-02-12 5 views
1

Я тестирую некоторый код о узле и лазури. Согласно фрагментам кода @https://github.com/WindowsAzure/azure-sdk-for-nodeОшибка при вызове azure.createQueueService()

var queueService = azure.createQueueService(); 
queueService.createQueueIfNotExists('taskqueue', function(error){ 

if(!error){ 
    // Queue exists 
} 

}); 

В моем коде я попробовал: - сообщение

var AZURE = require('azure'); 

function TestQueue(QueueName) 
{ 
    var queueService = AZURE.createQueueService(); // error occurred at this line 
    queueService.createQueueIfNotExists(QueueName, function(error){ 
     if(!error) 
     { 
      console.log("ok"); 
      RESPONSE.send(200, { Message: "ok", Status: "ok" }); 
     } 
     else 
     { 
      console.log("error: "+error); 
      RESPONSE.send(200, { Message: "error", Status: "error" }); 
     } 
    }); 
} 

Ошибки: -

NoMatchError: Прилагаемые настройки { "blobendpoint":»https://undefined.blob.core.windows.net "," tableendpoint ":" https://undefined.table.core.windows.net "," queueendpoint ":" https://undefined.queue.core.windows.net "} не заполнены.

Вопрос в том, как создать queueService?

Кстати, нижеследующий код работа хорошо. Но для меня этого недостаточно. Мне также нужна служба очереди.

var AZURE = require('azure'); 
var SERVICEB_BUS_SERVICE = AZURE.createServiceBusService(); 

function createQueue(queueName) 
{ 
     SERVICEB_BUS_SERVICE.createQueueIfNotExists(queueName, function(error){ 
      if(!error){ 
       console.log('%s queue created or exist: ',queueName); 
       RESPONSE.send(200, { Message: "ok", Status: "ok" }) 
      } 
      else 
      { 
       console.log('%s queue creation error.',queuename); 
       RESPONSE.send(200, { Message: "error", Status: "error" }) 
      } 
     }) 

} 

ответ

2

В основном вы получаете эту ошибку, потому что не указано имя/ключ учетной записи. Попробуйте что-то вроде этого:

var AZURE = require('azure'); 
TestQueue('testqueue1'); 
function TestQueue(QueueName) 
{ 
    var queueService = AZURE.createQueueService('accountname', 'accountkey'); // error occurred at this line 
    queueService.createQueueIfNotExists(QueueName, function(error){ 
     if(!error) 
     { 
      console.log("ok"); 

     } 
     else 
     { 
      console.log("error: "+error); 

     } 
    }); 
} 
+0

Я избавился от предыдущей ошибки. Но получил новую ошибку: сервер не смог аутентифицировать запрос. Убедитесь, что значение заголовка авторизации сформировано правильно, включая подпись. RequestId: f0cb9b35-e540-41e9-87ae-1311c5e320b0 Время: 2014-02-13T12: 19: 41.6685088Z. Я называю этот метод формой настраиваемого api, настроенного так, как можно вызывать только аутентифицированный пользователь. Я выполняю аутентификацию до того, как позвоню. Я не претендую на параметр «accountname», «accountkey». Я просто попробовал accountname = "servicebus name" accountkey = "DEFAULT KEY". Можете ли вы сказать мне, что это должно быть? – masiboo

+0

Вам необходимо получить имя учетной записи и ключ от портала Windows Azure Portal. Эта очередь отличается от очередей служебных шин. Вы можете найти эту ссылку, полезную для сравнения между ними: http://msdn.microsoft.com/en-us/library/windowsazure/hh767287.aspx. –

+0

Wow confusing name. На самом деле я вошел в это, пытаясь следовать этому http://www.windowsazure.com/en-us/documentation/articles/storage-nodejs-how-to-use-queues/ здесь он упомянул var queueService = azure.createQueueService (); Так как вы можете видеть код для создания очереди служебной шины и столкнулись с ошибкой при попытке сортировать queueService. – masiboo

Смежные вопросы