Amazon s3 AWS S3 putBucketLifecycleConfiguration过卷 请考虑以下事项: const prefixes=['prefix1','prefix2'] for(让documentPrefix作为前缀){ 常量参数={ Bucket:process.env.DOCUMENT_Bucket, 生命周期配置:{ 规则:[ { 过期日期:{Days:process.env.NUMBER_OF_Days}, ID:documentPrefix, 状态:“已启用”, 过滤器:{ 前缀:`${documentPrefix}/`, }, 非当前版本支出:{ 非当前天数:process.env.NUMBER OF天, }, }, ], }, }; log(`Creating lifecycle rule with params:${JSON.stringify(params)}`); 等待s3.putBucketLifecycleConfiguration(params.promise(); }

Amazon s3 AWS S3 putBucketLifecycleConfiguration过卷 请考虑以下事项: const prefixes=['prefix1','prefix2'] for(让documentPrefix作为前缀){ 常量参数={ Bucket:process.env.DOCUMENT_Bucket, 生命周期配置:{ 规则:[ { 过期日期:{Days:process.env.NUMBER_OF_Days}, ID:documentPrefix, 状态:“已启用”, 过滤器:{ 前缀:`${documentPrefix}/`, }, 非当前版本支出:{ 非当前天数:process.env.NUMBER OF天, }, }, ], }, }; log(`Creating lifecycle rule with params:${JSON.stringify(params)}`); 等待s3.putBucketLifecycleConfiguration(params.promise(); },amazon-s3,aws-lambda,Amazon S3,Aws Lambda,对于数组中的每一项前缀,我希望在bucket中都有一条生命周期规则,但对于数组中的最后一项,只有一条规则 有人能解释为什么吗?每个迭代的ID都不同。这是因为这是一个PUT操作,通过创建新配置覆盖以前的生命周期设置 因此,解决办法是一次发送所有需要的规则 const AWS=require('AWS-sdk'); const s3=新的AWS.s3(); 常量前缀=['prefix1','prefix2']; 常量规则=前缀.map(documentPrefix=>{ 返回{ 过期日期:{Days

对于数组中的每一项
前缀
,我希望在bucket中都有一条生命周期规则,但对于数组中的最后一项,只有一条规则

有人能解释为什么吗?每个迭代的ID都不同。

这是因为这是一个PUT操作,通过创建新配置覆盖以前的生命周期设置

因此,解决办法是一次发送所有需要的规则

const AWS=require('AWS-sdk');
const s3=新的AWS.s3();
常量前缀=['prefix1','prefix2'];
常量规则=前缀.map(documentPrefix=>{
返回{
过期日期:{Days:process.env.NUMBER_OF_Days},
ID:documentPrefix,
状态:“已启用”,
过滤器:{
前缀:`${documentPrefix}`,
},
非当前版本支出:{
非当前天数:process.env.NUMBER OF天,
}
}
});
异步函数run(){
常量参数={
Bucket:process.env.DOCUMENT_Bucket,
生命周期配置:{
规则:规则
},
};
log(`Creating lifecycle rule with params:${JSON.stringify(params)}`);
等待s3.putBucketLifecycleConfiguration(params.promise();
}
run();

因此,最终应用了两条规则(s3 bucket>management)

谢谢这是一个完美的回答!我认为每个生命周期配置可以有多个规则。