node.js - 从 s3 获取所有文件版本
问题描述
我已将几个文件(同名)上传到 s3,现在它出现在对象版本中:
如何获取所有文件版本并将其删除(仅保留最新版本)?方法:
s3Bucket
.getObject({ Bucket, Key })
只返回最后一个对象。
解决方案
- 您可以通过方法获取对象的所有版本
s3.listObjectVersions
。
var params = {
Bucket: "examplebucket",
Prefix: "HappyFace.jpg"
};
s3.listObjectVersions(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data);
});
VersionId: 'STRING_VALUE'
您可以通过传递给s3.deleteObject
方法来删除特定版本。
var params = {
Bucket: 'STRING_VALUE', /* required */
Key: 'STRING_VALUE', /* required */
VersionId: 'STRING_VALUE'
};
s3.deleteObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});