Node.js Amazon S3 - 下载失败并出现SignatureDoesNotMatch错误

时间:2012-05-01 02:11:18

标签: node.js amazon-s3 download knox-amazon-s3-client

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

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错误。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可能想要查看AwsSum库。它功能齐全,主动维护:

还有一个从node-awssum-scripts repo中下载S3的例子,您可能会发现它很有用:

如果您需要任何帮助,请给我一个喊叫。免责声明:我是小孩,AwsSum的作者。 :)

答案 1 :(得分:0)

似乎这是Knox最终的问题。显然问题已经解决了,但解决方案还没有进入主项目。

请参阅此主题:https://github.com/LearnBoost/knox/issues/56

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