我已经尝试了很多天,使用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中正确生成签名,我将非常感激。
答案 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
希望有所帮助!