AWS S3 SDK 2.0删除文件夹
2020-08-06 16:25:47
1272 次阅读
0 个评论
import java.util.ArrayList;
import java.util.Iterator;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.*;
//...
ListObjectsRequest listObjectsRequest = ListObjectsRequest.builder()
    .bucket(bucketName)
    .prefix("foo/")
    .build()
;
ListObjectsResponse objectsResponse = s3Client.listObjects(listObjectsRequest);
while (true) {
    ArrayList<ObjectIdentifier> objects = new ArrayList<>();
    for (Iterator<?> iterator = objectsResponse.contents().iterator(); iterator.hasNext(); ) {
        S3Object s3Object = (S3Object)iterator.next();
        objects.add(
            ObjectIdentifier.builder()
                .key(s3Object.key())
                .build()
        );
    }
    s3Client.deleteObjects(
        DeleteObjectsRequest.builder()
            .bucket(bucketName)
            .delete(
                Delete.builder()
                    .objects(objects)
                    .build()
            )
            .build()
    );
    if (objectsResponse.isTruncated()) {
        objectsResponse = s3Client.listObjects(listObjectsRequest);
        continue;
    }
    break;
};- 0回答
- 1粉丝
- 0关注
相关话题
- S3存储桶策略示例
- Maven打包war包含空文件夹
- VMware ubuntu虚拟机与主机共享文件夹
- 使用commons-io-2.0监听文件变化
- 批量删除UTF-8文件头BOM
- 解决一个意外错误使您无法删除该文件
- 使用Let's Encrypt通配符HTTPS证书
- Vue2.0 移动端拍照压缩图片预览及上传
- Vue中v-for数组删除第n项元素时自动删除最后一项错误
- java删除字符串中的数字
- vue 3 的watchEffect 使用方法
- Java删除字符串的所有标点
- commons-lang3提示“The type StringEscapeUtils is deprecated”
- Vue3+Vite+Nginx 二级路径部署
- 批量删除redis中以某字符串前缀的key