【发布时间】:2020-07-18 19:28:54
【问题描述】:
我想使用 aws-sdk Node Js 为 S3 存储桶中的某些对象设置不同的到期日期。为此,我使用了putBucketLifecycleConfiguration 和putBucketLifecycle。据我所知,我使用不同的前缀(= 对象名称)来设置不同对象的到期日。但是这种方法不是创建新的生命周期,而是替换现有的。
const params = {
Bucket: Env.AWS_BUCKET, /* required */
LifecycleConfiguration: {
Rules: [
{
Expiration: {
Days: 1
},
Filter: {
Prefix: fullPathOfObject
},
Status: "Enabled"
}
]
}
};
const putBucketLifecycleConfigRequest = s3.putBucketLifecycleConfiguration(params);
putBucketLifecycleConfigRequest.
on('success', function(response: any) {
console.log("success");
}).
on('error', function(error: any) {
console.log(error);
}).
on('complete', function(response: any) {
console.log("complete");
}).
send();
/***
const putBucketLifecycleRequest = s3.putBucketLifecycle(params);
putBucketLifecycleRequest.
on('success', function(response: any) {
console.log("success");
}).
on('error', function(error: any) {
console.log("error");
}).
on('complete', function(response: any) {
console.log("complete");
}).
send();
**/
我已经阅读了很多答案和文档,但不知道如何在 s3 存储桶中创建多个生命周期。
在 AWS 文档中:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketLifecycle-property
其书面“为存储桶创建新的生命周期配置或替换现有的生命周期配置”。那么,我们不能为单个对象创建/添加生命周期吗?
【问题讨论】:
-
这就是你所有的代码吗?你从哪里得到
fullPathOfObject? -
这是我从参数传递的。完整路径是对象的位置。我们可以给前缀起任何名字。
标签: node.js amazon-web-services amazon-s3 aws-sdk