Amazon s3 如何使用策略根据筛选条件删除S3文件夹?
如何使用bucket策略根据指定的条件删除S3 bucket中的对象Amazon s3 如何使用策略根据筛选条件删除S3文件夹?,amazon-s3,Amazon S3,如何使用bucket策略根据指定的条件删除S3 bucket中的对象 每次存储桶中的对象总数应大于5 对象应具有公共前缀 对象年龄应大于X(1,2,3,4…n)天 铲斗结构- myprefixtest1234bucket //bucket |- prefixtestobject1 //object |- prefixtestobject2 |- prefixtestobject3 |- prefixtestobject4
myprefixtest1234bucket //bucket
|- prefixtestobject1 //object
|- prefixtestobject2
|- prefixtestobject3
|- prefixtestobject4
|- prefixtestobject5
|- prefixtestobject6
|- prefixtestobject7
|- testobject8
|- testobject9
我正在尝试删除具有前缀的bucket中的对象
“prefixtext”且早于X天,此存储桶应保持Y
即使对象的时间早于X天,也始终存在对象的数量。意味着保持对象的Y数量应优先于年龄(大于X天)
我尝试了以下策略,但没有成功,不确定如何添加年龄和对象计数逻辑
{
"Id": "Policy123456",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"TestBucketObjectDeletion",
"Effect":"Allow",
"Principal": {"AWS": ["arn:aws:iam::123456789:root"]},
"Action":["s3:DeleteObject"],
"Resource":["arn:aws:s3:::myprefixtest1234/*"],
"Condition":{"StringEquals":{"myprefixtest1234"}}
}
]
}
目前,没有办法指定保留的数量(1,2,3…n)
对象,并根据公共前缀删除其余对象
但是我们可以使用
铲斗生命周期
并使用s3api将其放在如下位置-
aws s3api put-bucket-lifecycle-configuration \
--bucket bucketname \
--lifecycle-configuration file://lifecycle.json
更多信息请点击这里-
和
aws s3api put-bucket-lifecycle-configuration \
--bucket bucketname \
--lifecycle-configuration file://lifecycle.json