Node.js 调用azure.createQueueService()时出错

Node.js 调用azure.createQueueService()时出错,node.js,azure,Node.js,Azure,我正在测试一些关于node和azure的代码。根据代码片段@ 在我的代码中,我尝试:- var AZURE = require('azure'); function TestQueue(QueueName) { var queueService = AZURE.createQueueService(); // error occurred at this line queueService.createQueueIfNotExists(QueueName, function

我正在测试一些关于node和azure的代码。根据代码片段@


在我的代码中,我尝试:-

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”:“”“tableendpoint”:“”“queueendpoint”:“”} 这是不完整的

问题是如何创造 排队服务

顺便说一下,下面的代码 干得好。但这对我来说还不够。我还需要排队服务

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" })
            }
        })

}

基本上,您得到这个错误是因为没有指定帐户名/密钥。试着这样做:

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);

        }
    });
}

我消除了以前的错误。但出现新错误:服务器无法验证请求。确保包括签名在内的授权标头的值格式正确。请求ID:f0cb9b35-e540-41e9-87ae-1311c5e320b0时间:2014-02-13T12:19:41.6685088Z。我从一个自定义api调用这个方法,该api配置为只能调用经过身份验证的用户。在我打电话之前,我会进行身份验证。我对参数“accountname”、“accountkey”不感兴趣。我刚刚尝试了accountname=“servicebus name”accountkey=“DEFAULT KEY”。您能告诉我应该是什么吗?您必须从Windows Azure门户获取存储帐户名和密钥。此队列不同于服务总线队列。您可能会发现此链接对于比较这两个名称很有用。实际上,我是在尝试遵循这一点时发现的,这里提到了var queueService=azure.createQueueService();正如您所看到的,创建服务总线队列的代码在尝试装箱queueService时出错。不能怪您:)。该示例讨论存储队列。所以问题是-您想创建存储队列还是服务总线队列?我回答中的代码示例将创建一个存储队列,而您问题中的第二个代码示例将用于服务总线队列。我需要服务总线队列。我需要此调用才能工作var queueService=azure.createQueueService();这样我就可以使用queueService.peekMessages()
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);

        }
    });
}