- Newest
- Most votes
- Most comments
A delete marker can be current or noncurrent. It becomes current when the object is removed. In this case you will have a delete marker that is current and some noncurrent versions. If you have a lifecycle rule that works on current objects, it will eventually mark the current delete marker as noncurrent which can later be expired by another lifecycle rule that works on noncurrent objects. There will be a situation where all object versions are deleted and only a single delete marker remains. In this case, it is considered as an expired delete marker. The rule that you have provided will remove that expired delete marker.
You'll need another Lifecycle Rule to delete the noncurrent versions of objects. And you can also specify the number of the newer versions to retain. Below are some blog posts than explains it in more detail.
https://repost.aws/knowledge-center/s3-lifecycle-rule-non-current-version
yes, i have a non-current expiration rule in what i posted above. that doesn't explain how to get the entire object eventually deleted once it is marked as deleted.
Relevant content
- AWS OFFICIALUpdated 7 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago
i don't want to expire current non-deleted items. your answer seems to require there to be an expiration rule for any current item.
is it possible you could outline the rules you have described above? maybe i'm just not following what you are trying to explain.
i added some additional context to my question to clarify what i am trying to accomplish.
Let's say you have an object created in a versioning enabled bucket.
so, i understand your explanation, and it matches my expectations. however, neither of those scenarios describe what i am trying to do. i detailed out what i am trying to achieve in my original question. i want to maintain some number of noncurrent items until the object is deleted. at that point, i want to be able to eventually expire/delete everything.