2014-02-14 37 views
0

我试图按照这种http://www.windowsazure.com/en-us/documentation/articles/storage-nodejs-how-to-use-queues/如何调用azure服务总线队列queueService.peekMessages()?

我的代码: -

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.peekMessages()。我的目标是在不从队列中删除消息的情况下获取队列消息。

我在另一个线程中提出同样的问题@Error when call azure.createQueueService()它与2个不同队列的东西混合在一起。最终我没有得到我的答案。这次希望得到答案。感谢advnace!

回答

0
var azure = require('azure'); 

var namespace = 'YOUR-NAMESPACE-GOES-HERE'; 
var key = 'YOUR-KEY-GOES-HERE'; 
var issuer = 'owner' 
var acs = namespace + '-sb'; 
var host = namespace + '.servicebus.windows.net'; 
var authProv = null; 
var serviceBusService = azure.createServiceBusService(namespace, key, issuer, acs, host, authProv); 
var queueName = 'nodequeue'; 

console.log('Connecting...'); 
serviceBusService.createQueueIfNotExists(queueName, function(error){ 

    if(error){ 
    console.log('ERROR: ' + error); 
    return; 
    } 

    console.log('Connected, receiving...'); 

    serviceBusService.receiveQueueMessage(queueName, { isPeekLock: true },function(error, msg){ 

    if(error){ 
     console.log('ERROR: ' + error); 
     return; 
    } 

    console.log('Received:'); 
    console.dir(msg); 

    }); 

}); 

来源:https://gist.github.com/hectorcorrea/7372111

+0

除此之外,你可以在这里找到更多的信息:http://www.windowsazure.com/en-us/documentation/articles/service-bus-nodejs-how-使用队列/ –

+0

谢谢Thiago!但它以json形式返回所有细节。我只是想得到一个消息提到http://stackoverflow.com/questions/21781243/how-to-call-azure-service-bus-queue-queueservice-peekmessages/21786167?iemail=1&noredirect=1#21786167 queueService。 peekMessages(queueName,function(error,messages)if(!error){ // Messages peeked // Text is available in messages [0] .messagetext } }); – masiboo

相关问题