1

这是我用来下载文件的代码

var S3_KEY = 'xxxxxx';
var S3_SECRET = 'xxxxxx';
var S3_BUCKET = 'xxxxxx';
var s3Client = require('knox').createClient({
    "key": S3_KEY,
    "secret": S3_SECRET,
    "bucket": S3_BUCKET
});

// Pull some stuff down
s3Client.get('myFile.zip').on( 'response', function(res){
    console.log( "\n" + res.statusCode );
    console.log( "\n" + res.headers + "\n" );
    res.setEncoding( 'utf8' );
    res.on('data', function( chunk ) {
        console.log( chunk );
    });
}).end();

我收到带有 SignatureDoesNotMatch 代码的 403 错误。我究竟做错了什么?

4

2 回答 2

1

您可能想查看 AwsSum 库。它功能齐全并得到积极维护:

在 node-awssum-scripts 存储库中有一个从 S3 下载的示例,您可能会发现它很有用:

如果您需要任何帮助,请大声告诉我。免责声明:我是 Chilts,AwsSum 的作者。:)

于 2012-05-07T07:18:12.580 回答
0

这似乎是诺克斯的一个问题。显然问题已经解决了,但是解决方案还没有拉入主项目。

看到这个线程:https ://github.com/LearnBoost/knox/issues/56

我的解决方法是删除 knox 库并将此存储库克隆到我的 node_modules 文件夹中:https ://github.com/domenic/knox.git

于 2012-05-05T03:03:30.353 回答