2013-05-14 87 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