1

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

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

我在节点 js 中的代码(上传不起作用,所以我只是想获取):

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();

我还尝试了亚马逊将测试签名与许多不同的方法进行比较,例如:html 和 python 版本

没有什么对我有用,我可能在这个过程中有点迷失......如果有人能给我一些大行来指导我和/或一个脚本来正确地在 javascript/node js 中生成签名,我将非常感激。

4

2 回答 2

2

您可能想尝试 AwsSum 库。它得到了积极的维护,还附带了大量示例和另一个具有更全功能脚本的 repo。

根据您的需要,脚本存储库(单独的 GitHub 项目)中有一个示例上传脚本:

让我知道您是否需要任何帮助或者您是否顺利。免责声明:我是 AwsSum 的作者。:)

于 2012-05-07T07:07:23.647 回答
0

我只是在这个问题上挣扎了几天。假设您使用的是 Windows,这似乎是 Knox 的问题。显然问题已经解决了,但是解决方案还没有拉入主项目。

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

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

希望有帮助!

于 2012-05-05T03:00:25.647 回答