在node.js中创建S3签名的URL

时间:2011-06-22 22:15:12

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

我正在使用knox模块https://github.com/LearnBoost/knox为S3上的文件创建签名URL,这是我以前用PHP SDK完成的。

我可以从我的存储桶中删除文件,但是当我为具有私有ACL的文件尝试生成的URL时,我收到了SignatureDoesNotMatch错误。

代码看起来像这样

var knox = require('knox');
var s3Client = knox.createClient({
key: '*****',
secret: '*****',
bucket: '*****'
});
function getS3Url(filename) {
var expires = new Date();
expires.setMinutes(expires.getMinutes() + 30);
return s3Client.signedUrl(filename, expires);
}
console.log(getS3Url('file.txt'));

我做错了什么?

1 个答案:

答案 0 :(得分:0)

原来我错过了文件名前面的'/',现在是签名匹配。