Как массово удалить файлы в 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() );
}
}