到目前为止,我已经能够成功地使用 node.js、express 和 knox 在 Amazon S3 中添加/更新/删除/检索对象。试图将事情提升到一个新的水平我试图弄清楚如何使用诺克斯(如果可能的话)做两件事:
1) 设置对象在添加/更新对象时使用服务器端加密。
2) 获取对象的特定版本或获取对象的版本列表。
到目前为止,我已经能够成功地使用 node.js、express 和 knox 在 Amazon S3 中添加/更新/删除/检索对象。试图将事情提升到一个新的水平我试图弄清楚如何使用诺克斯(如果可能的话)做两件事:
1) 设置对象在添加/更新对象时使用服务器端加密。
2) 获取对象的特定版本或获取对象的版本列表。
我知道这是一个老问题,但是可以通过指定标头使用服务器端加密使用 knox 上传文件:
client.putFile('test.txt', '/test.txt', {"x-amz-server-side-encryption": "AES256"}, function(err, res) {
//Do something here
});
安迪(写了 AwsSum)在这里。
使用 AwsSum,当您放置一个对象时,只需将“ServerSideEncryption”设置为您想要的值(目前 S3 仅支持“AES256”)。简单的!:)
例如
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');
});