2012-03-10 3 views
0

私は400無効なURLエラーで結果、以下の簡単なノードアプリから私Azureのブロブストレージに接続するために作るあらゆる試みに400「無効なURL」を取得します。私はストレージキー(下記の「mykey」)を確認し、ストレージアカウント(下記の「myaccount」)は管理ポータルから直接コピーされ、ストレージアカウントは正しいです。明らかに間違っていることはありますか?のAzure SDKは - すべての呼び出し

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

ノード書き換えルールの設定はありますか? –

+0

私のノード書き換えルール?私は理解できないかもしれない - 私はMac OSX上でノード6.12を実行していて、iisnodeで動作していないし、Azureでホストされていない。私はちょうどAzureのストレージに行っています。 –

+0

これはエラーです: '{head:{TITLE: 'Bad Request'、META:{'@' [Object]}}、 本文: {h2: '不正なリクエスト - 無効なURL'、 hr :{p: 'HTTPエラー400です。リクエストURLが無効です。' }}} ' –

答えて

-2

管理protalのために、あなたはこれまでの解像度に注意することはフォローアップ

var blobService = azure.createBlobService('yourAccount', 'yourKey','http://blob.core.windows.net'); 
1

を試すことができます。何らかの理由で、私は\r\nを付けて悪いヘッダを作成していました。私はそれをきれいにして、問題のリストやブロブの送信をしませんでした。私のリクエストオブジェクト内のヘッダーでクリアな表情を与えた

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

:ノードコードの

デバッグのAzure SDKは、呼び出しによって沿って助けています。