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