这是我用来下载文件的代码
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错误。我做错了什么?
答案 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