Use per-project S3 Lifecycle expiration after 60 days to purge project data cost-effectively
A company is developing a mechanism that will help data scientists use Amazon SageMaker to read, process, and output data to an Amazon S3 bucket. Data scientists will have access to a dedicated S3 prefix for each of their projects. The company will implement bucket policies that use the dedicated S3 prefixes to restrict access to the S3 objects. The projects can last up to 60 days. The company's security team mandates that data cannot remain in the S3 bucket after the end of the projects that use the data. Which solution will meet these requirements MOST cost-effectively?
Community Votes
100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
S3 Lifecycle expiration is a native, zero-compute way to delete objects after a set age, directly enforcing the 'data cannot remain after the project' rule per prefix. A Lambda/EventBridge cleanup (A/D) adds ongoing compute cost and operational overhead, and Intelligent-Tiering (B) only changes storage class, it does not delete.
Each data-science project gets a dedicated S3 prefix and must not leave data in the bucket after the project ends (up to 60 days). The most cost-effective control is an S3 Lifecycle configuration on each project prefix that expires (deletes) objects 60 days after creation, automatically removing data at project end without custom code, functions, or tiering.
Building a Lambda + EventBridge scheduled job (option A) or Lambda on Intelligent-Tiering events (option D) to delete by last-access—more cost and complexity than a Lifecycle rule, and last-access tracking is not the same as project-end. Option B copies to a new bucket with Intelligent-Tiering, which stores rather than deletes.
Community Discussion (10 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.