上传S3 knox节点js(签名不匹配)

我已经尝试了很多天,现在使用knox和node js将文件(message.txt)上传到aws s3。

我一直有一个签名不匹配错误。

我的代码在节点js(上传不工作,所以我只是想做一个get):

var client = knox.createClient({ key: 'myAWSkey' , secret: 'mySecretKey' , bucket: 'mybucket' , endpoint: 'mybucket.s3-eu-west-1.amazonaws.com' }); client.get('/').on('response', function(res){ console.log(res.statusCode); console.log(res.headers); res.setEncoding('utf8'); res.on('data', function(chunk){ console.log(chunk); }); }).end(); 

我也试过亚马逊比较testing签名与许多不同的方法,如这个: HTML和Python版本

没有任何工作对我来说,我可能有点迷失在这个过程中…如果有人可以给我一些大的行来指导我和/或一个脚本生成正确的签名在javascript /节点js我将非常感激。

你可能想尝试AwsSum库。 这是积极的维护,也带有一些例子和另外一个更全面的function脚本回购。

并且为了您的需要,在脚本repo(单独的GitHub项目)中有一个示例上传脚本:

让我知道如果你需要任何帮助,或者如果你继续下去。 免责声明:我是AwsSum的作者。 🙂

我只是在这个问题上挣扎了好几天。 假设你在Windows上,似乎这是诺克斯的一个问题。 显然这个问题已经解决了,但是解决办法还没有拉入主体工程。

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

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

希望有所帮助!