Как удалить файлы с префиксом `term / classID /`, имя которых начинается с `syllabus-` в корзине S3 в Java - PullRequest
0 голосов
/ 12 января 2019

Как массово удалить файлы в Amazon S3 Bucket?

Я пытаюсь загрузить файлы в свою корзину S3, и после загрузки этих файлов я хочу массово удалить файлы с префиксом term/classID/, имя которых начинается с syllabus- в корзине S3 с Java.

лучший вариант - попытаться удалить их за одну операцию, поскольку доступ к S3 в моем случае дорогостоящий.

Это то, что я сейчас делаю, (path = "term/classID/", prefix="syllabus-"), который получает файлы, а затем удаляет их с "syllabus-" в их имени.

   @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() );
      }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...