如何使用存储桶策略根据指定的条件删除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"}}
    }
  ]
}