使用knox和nodejs在Amazon S3中打开服务器端加密和获取对象版本

时间:2012-06-09 14:50:41

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

到目前为止,我已成功使用node.js,express和knox在Amazon S3中添加/更新/删除/检索对象。试图将事情提升到一个新的水平我试图弄清楚如何使用knox(如果可能的话)做两件事:

1)在添加/更新对象时将对象设置为使用服务器端加密。

2)获取对象的特定版本或获取对象版本列表。

2 个答案:

答案 0 :(得分:2)

我知道这是一个老问题,但是可以通过指定标题使用服务器端加密来上传带有knox的文件:

client.putFile('test.txt', '/test.txt', {"x-amz-server-side-encryption": "AES256"}, function(err, res) {
    //Do something here
});

答案 1 :(得分:1)

安迪(曾写过AwsSum)。

使用AwsSum,当你放置一个对象时,只需将'ServerSideEncryption'设置为你想要的值(目前S3仅支持'AES256')。简单! :)

e.g。

var body = ...; // a buffer, a string, a stream

var options = {
    BucketName    : 'chilts',
    ObjectName    : 'my-object.ext',
    ContentLength : Buffer.byteLength(body),
    Body          : body,
    ServerSideEncryption : 'AES256'
};

s3.PutObject(options, function(err, data) {
    console.log("\nputting an object to pie-18 - expecting success");
    console.log(err, 'Error');
    console.log(data, 'Data');
});