2017-03-13 1 views
0

私はNode.js API Appを持っています。計画は、この特定のルートが青空の塊の内容を返すことです。Apiが淡いブロブストレージデータを返す

'use strict'; 
var dataProvider = require('../../data/ControlAPI/ListControls.js'); 
/** 
* Operations on /ControlAPI/ListControls 
*/ 
module.exports = { 
    /** 
    * summary: 
    * description: 
    * parameters: 
    * produces: application/json, text/json 
    * responses: 200 
    */ 
    get: function controlapi_listcontrol(req, res, next) { 
     /** 
     * Get the data for response 200 
     * For response `default` status 200 is used. 
     */ 
     var status = 200; 
     var provider = dataProvider['get']['200']; 
     provider(req, res, function (err, data) { 
      if (err) { 
       next(err); 
       return; 
      } 
      // res.status(status).send(data && data.responses); 
      var azure = require('azure-storage'); 
      var blobsrv = azure.createBlobService(
       'accname', 
       'key' 
       ) 

      var tools = ""; 
      blobsrv.getBlobToText('tools', 'toolbox.json ', tools, function (error, res) {}) 
      res.json = tools; 
     }); 
    } 
}; 

私は私がここに愚かな何かを行っていると仮定しますが、私は私のAPIのルートを呼び出すときに、私は応答(いなくても、エラー)を取得することはありません:

は、だから私のハンドラの中で、私は次のコードを持っています。

誰もがエラー/成功コードを与えてくれない理由を知っていますか?

+0

()'あなたは渡すつもりでしたコンテナ名、ストレージアカウント名 –

+0

申し訳ありません、それはストレージアカウント名です、更新された質問があります –

答えて

1

res.json = tools;をコールバック関数に入れる必要があります。フラットのNode.jsで

:Expressで

blobsrv.getBlobToText('tools', 'toolbox.json', function (error, text) { 

    res.setHeader('Content-Type', 'application/json'); 
    res.send(text); 
}) 

:createBlobService `へお電話で

blobsrv.getBlobToText('tools', 'toolbox.json', function (error, text) { 

    res.json(text); 
}) 
+1

私はそのツールを結果変数の代わりにオプションに追加しますので、res.jsonの結果を使用する必要がありました –

+1

申し訳ありません、コード。詳細なAPIリファレンスについては、http://azure.github.io/azure-storage-node/BlobService.html#getBlobToText__anchorを参照してください。 –

関連する問題