Azure SDK для узла - получайте 400 «неверных URL» на каждый звонок - PullRequest
0 голосов
/ 10 марта 2012

Каждая попытка подключиться к хранилищу больших двоичных объектов Azure из простого приложения Node, приведенного ниже, приводит к ошибке 400 Invalid URL. Я подтвердил ключ хранения («mykey» ниже), и учетная запись хранения («myaccount» ниже) скопирована прямо с портала управления, и учетная запись хранения верна. Что-то явно не так?

var http = require('http');
var azure = require('azure');
var port = process.env.port || 1337;

var blobService = azure.createBlobService( 'myAccount', 'myKey');
var containerName = 'photos';

http.createServer(function serverCreated(req, res) {
    blobService.createContainerIfNotExists(containerName, null, 
                                           containerCreatedOrExists);

    function containerCreatedOrExists(error)
    {
        res.writeHead(200, { 'Content-Type': 'text/plain' });

        if(error === null){
            res.write('Using container ' + containerName + '\r\n');     

            blobService.listBlobs(containerName, null, blobsListed);
        } else {
            res.end('Could not use container: ' + error.Code);
            console.log(error);
        }
    }

    function blobsListed(error, blobList)
    {
        if(error === null){
            res.write('Successfully listed blobs in ' + containerName + 
                      ':\r\n');
            for(var index in blobList){
                res.write(blobList[index].name + ' ');
            }
            res.end();
        } else {
            res.end('Could not list blobs: ' + error.Code);
        }
    }
}).listen(port);

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Вслед за записью разрешения к этому. По какой-то причине я создавал плохие заголовки с \r\n в них. Я убрал это, и у меня не было проблем перечислять или посылать капли.

Отладка Azure SDK для кода узла сопровождается вызовом:

blobService.logger = new azure.Logger(azure.Logger.LogLevels.DEBUG);

, который дал мне ясный взгляд на заголовки в объекте запроса.

0 голосов
/ 16 марта 2012

для управления, вы можете попробовать

var blobService = azure.createBlobService( 'yourAccount', 'yourKey','http://blob.core.windows.net');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...