2017-01-31 6 views
0

Node.jsとExpress.jsにazureストレージを使用してコンテナを作成しようとしています。以下は私のコードです:コンテナ関数呼び出しが動作しないようにする

'use strict' 
var azure = require('azure-storage') 

var Blob = (function() { 
    function Blob (opts) { 
    this.container = opts.container 
    this.blobSvc = azure.createBlobService(opts.account, opts.key) 
    this.createContainer(this.container) 
    } 

    Blob.prototype.createContainer = function (name) { 
    this.blobSvc.createContainerIfNotExists(name, function (error, result, response) { 
     if (!error) { 
     }else { 
     throw error 
     } 
    }) 
    } 
    return Blob 
}()) 

module.exports = function (opts) { 
    return new Blob(opts) 
} 

問題はthis.blobSvc.createContainerIfNotExists(...)がまったく呼び出されないということです。私は理由を理解しようとしましたが、失敗しました。

答えて

1

あなたのコードを試してみましたが、私の側でうまく動作します。エラーメッセージと何を試しても、間違っていることを知ることは難しいです。しかし、以下のことは私があなたが参考にしてもらうことができるテスト結果です。

フォルダ構造:

\ blob.js

\ testCreateContainer.js


blob.js

'use strict' 
var azure = require('azure-storage') 

var Blob = (function() { 
    function Blob (opts) { 
    this.container = opts.container 
    this.blobSvc = azure.createBlobService(opts.account, opts.key) 
    this.createContainer(this.container) 
    } 

    Blob.prototype.createContainer = function (name) { 
    this.blobSvc.createContainerIfNotExists(name, function (error, result, response) { 
     if (!error) { 
     } else { 
     throw error 
     } 
    }) 
    } 
    return Blob 
}()) 

module.exports = function (opts) { 
    return new Blob(opts) 
} 
次のコマンドを実行した後

testCreateContainer.js

var blob = require('./blob.js') 

blob({container: 'testcontainer', account: '<account name>', key: '<access key>'}) 

、 "TESTCONTAINER" という名前のコンテナが作成されます。

enter image description here

関連する問題