2013-05-14 111 views
3

我在節點版本0.11.2上使用AWS Node.js API(aws-sdk)版本1.0.0。我得到一個錯誤簡單地構造API對象:AWS Node.js API錯誤

var AWS = require('aws-sdk'); 
AWS.config.update({region: 'eu-west-1'}); 
var s3 = AWS.S3(); 

的錯誤是:

/.../node_modules/aws-sdk/lib/service.js:25 
var ServiceClass = this.loadServiceClass(config || {}); 
         ^
TypeError: Object #<Object> has no method 'loadServiceClass' 
    at Object.Service (/.../node_modules/aws-sdk/lib/service.js:25:29) 
    at Object.features.constructor [as S3] (/.../node_modules/aws-sdk/lib/util.js:405:24) 
    at ReadStream.<anonymous> (/.../server.js:92:22) 
    at ReadStream.EventEmitter.emit (events.js:97:17) 
    at fs.js:1492:10 
    at Object.oncomplete (fs.js:94:15) 

我得到同樣的錯誤與節點0.8.23,0.9.12和0.10.5過。

我無法在任何地方找到對此錯誤的任何引用,所以它顯然不會發生在其他人身上!我究竟做錯了什麼?

回答

5

你必須通過new創建S3新的對象:

var AWS = require('aws-sdk'); 
AWS.config.update({region: 'eu-west-1'}); 
var s3 = new AWS.S3(); 

這應該沒有任何問題的工作。

+0

沒關係。我不覺得太愚蠢,盯着文檔和例子約2個小時,甚至沒有發現這一點! :-/ 非常感謝! – dty 2013-05-14 15:06:52