AWS S3生命周期配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS S3生命周期配置相关的知识,希望对你有一定的参考价值。
我想设置S3存储,使生成后,他们在桶中的每个文件都将被删除7天,生命周期规律。
如果我设置了生命周期规则如下(下面是terraform代码,类似于控制台设置,所以我只是用它在这里),将在桶中的所有文件“测试”来之后,从7今天天揭开或将每个文件在不同的日期删除,因为它们是在不同的日子创造出来的?我希望他们能够在不同的日期被删除,不在一起。
顺便说一句,我想我并不需要配置:永久删除以前的版本,因为我的S3是不是版本启用。如果我错了请纠正我。
resource "aws_s3_bucket" "s3" {
bucket = "test"
lifecycle_rule {
id = "remove_after_7d"
enabled = true
expiration {
days = 7
}
}
}
对象将他们的个人创作7天后被删除 - 您创建规则后没有7天。如果,例如,在一个桶中的所有对象都至少7天的时候,他们都应该大约24小时内与您创建规则后消失。
注意,定时不准确的,因为删除过程是在后台完成的,因此对象通常会徘徊了几个小时的时间比你想的那样,如果你认为exacrly 7×24小时的对象多长时间留在桶。这可能需要一两天的首次创建策略后的对象消失。然而,一旦该政策对所有对象被充分评估,S3将停止向您索要过期的对象的存储时,他们的过期时间到达时,即使删除过程并没有得到身边真正删除它们,但。
对于非版本桶,你是正确的 - 没有以前的版本中删除。使用版本控制叶片通常是一个好主意,不过,因为它消除了数据丢失的不小心删除或覆盖的对象,无论出于何种原因(如在你的应用程序中的错误)的风险。
据我所知,以上配置后会从桶中创造7天删除桶。如果你想以后从该对象创建一个特定的日子删除特定文件,那么就不得不提到路径作为前缀。例如。删除log.txt的是桶的日志文件夹中:
resource "aws_s3_bucket" "bucket"
{
bucket = "<<bucket_name>>"
acl = "private"
lifecycle_rule {
id = "log"
enabled = true
prefix = "log/log.txt"
expiration {
days = 7
}
} }
但我面临的一个问题(错误409),同时更新现有的桶。
以上是关于AWS S3生命周期配置的主要内容,如果未能解决你的问题,请参考以下文章