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

时间:2012-05-01 21:37:30

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

我已经尝试了很多天,使用knox和节点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();

我也尝试过亚马逊将test signature与许多不同的方法进行比较,例如:html and python version

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

我刚刚在这个问题上苦苦挣扎了几天。假设你在Windows上,似乎这是Knox最终的一个问题。显然问题已经解决了,但解决方案还没有进入主项目。

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

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

希望有所帮助!