如何使用存储桶策略根据指定的条件删除S3存储桶中的对象?
每次桶中的总对象计数应大于5 . 对象应该有一个共同的前缀 . 对象年龄应大于X(1,2,3,4 ...... n)天 .
铲斗结构 -
myprefixtest1234bucket //bucket
|- prefixtestobject1 //object
|- prefixtestobject2
|- prefixtestobject3
|- prefixtestobject4
|- prefixtestobject5
|- prefixtestobject6
|- prefixtestobject7
|- testobject8
|- testobject9
我正在尝试删除具有前缀“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"}}
}
]
}