2014-02-14 57 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

相關問題