Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awsdocs
GitHub Repository: awsdocs/amazon-s3-developer-guide
Path: blob/master/code_examples/java_examples/S3Examples/LowLevelAbortMultipartUpload.java
4084 views
1
// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
// SPDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-s3-developer-guide/blob/master/LICENSE-SAMPLECODE.)
3
4
import java.util.List;
5
6
import com.amazonaws.AmazonServiceException;
7
import com.amazonaws.SdkClientException;
8
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
9
import com.amazonaws.services.s3.AmazonS3;
10
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
11
import com.amazonaws.services.s3.model.AbortMultipartUploadRequest;
12
import com.amazonaws.services.s3.model.ListMultipartUploadsRequest;
13
import com.amazonaws.services.s3.model.MultipartUpload;
14
import com.amazonaws.services.s3.model.MultipartUploadListing;
15
16
public class LowLevelAbortMultipartUpload {
17
18
public static void main(String[] args) {
19
String clientRegion = "*** Client region ***";
20
String bucketName = "*** Bucket name ***";
21
22
try {
23
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
24
.withRegion(clientRegion)
25
.withCredentials(new ProfileCredentialsProvider())
26
.build();
27
28
// Find all in-progress multipart uploads.
29
ListMultipartUploadsRequest allMultipartUploadsRequest = new ListMultipartUploadsRequest(bucketName);
30
MultipartUploadListing multipartUploadListing = s3Client.listMultipartUploads(allMultipartUploadsRequest);
31
32
List<MultipartUpload> uploads = multipartUploadListing.getMultipartUploads();
33
System.out.println("Before deletions, " + uploads.size() + " multipart uploads in progress.");
34
35
// Abort each upload.
36
for (MultipartUpload u : uploads) {
37
System.out.println("Upload in progress: Key = \"" + u.getKey() + "\", id = " + u.getUploadId());
38
s3Client.abortMultipartUpload(new AbortMultipartUploadRequest(bucketName, u.getKey(), u.getUploadId()));
39
System.out.println("Upload deleted: Key = \"" + u.getKey() + "\", id = " + u.getUploadId());
40
}
41
42
// Verify that all in-progress multipart uploads have been aborted.
43
multipartUploadListing = s3Client.listMultipartUploads(allMultipartUploadsRequest);
44
uploads = multipartUploadListing.getMultipartUploads();
45
System.out.println("After aborting uploads, " + uploads.size() + " multipart uploads in progress.");
46
}
47
catch(AmazonServiceException e) {
48
// The call was transmitted successfully, but Amazon S3 couldn't process
49
// it, so it returned an error response.
50
e.printStackTrace();
51
}
52
catch(SdkClientException e) {
53
// Amazon S3 couldn't be contacted for a response, or the client
54
// couldn't parse the response from Amazon S3.
55
e.printStackTrace();
56
}
57
}
58
}
59
60