如何批量删除Amazon S3存储桶中的文件?
我正在尝试将文件上传到我的S3存储桶中,一旦上传了这些文件,我想批量删除带有term/classID/
前缀的文件,并在Java的S3存储桶中以syllabus-
开头。
最好的选择是尝试一次删除它们,因为在我的情况下访问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() );
}
}