How to delete files with `term/classID/` prefix, having name starts with `syllabus-` in S3 bucket in Java

Course Queries Syllabus Queries 3 years ago

9.63K 1 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago

 

How to bulk delete files in amazon S3 bucket? 

I am trying to upload files to my S3 bucket, and once these files have been uploaded I want to bulk delete files with term/classID/ prefix, having name starts with syllabus- in S3 bucket with Java.

the best option is to try delete them at one operation since accessing S3 is time costly in my case.

This is what I am doing currently, ( path = "term/classID/", prefix="syllabus-") which is getting the files and then deleting those with "syllabus-" in their name.

   @Override
   public void deleteFilesWithPrefix( String path, String prefix ) throws IOException {
      ObjectListing objectsList = amazonS3Client.listObjects( bucketName, path );
      objectsList.getObjectSummaries().forEach( x -> deleteObjectsWithPrefix( x, prefix ) );

   }

   private void deleteObjectsWithPrefix( S3ObjectSummary x, String prefix ) {
      if ( x.getKey().contains( prefix ) ){
         s3Dao.deleteFile( bucketName, x.getKey() );
      }
   }
0 views
0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum