Use AbortMultipartUpload with an AWS SDK - AWS SDK Code Examples

There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.

Use AbortMultipartUpload with an AWS SDK

The following code example shows how to use AbortMultipartUpload.

Java
SDK for Java 2.x
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

Abort a multipart upload in a directory bucket.

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.AbortMultipartUploadRequest; import software.amazon.awssdk.services.s3.model.S3Exception; import static com.example.s3.util.S3DirectoryBucketUtils.createDirectoryBucket; import static com.example.s3.util.S3DirectoryBucketUtils.createDirectoryBucketMultipartUpload; import static com.example.s3.util.S3DirectoryBucketUtils.createS3Client; import static com.example.s3.util.S3DirectoryBucketUtils.deleteDirectoryBucket; /** * Aborts a specific multipart upload for the specified S3 directory bucket. * * @param s3Client The S3 client used to interact with S3 * @param bucketName The name of the directory bucket * @param objectKey The key (name) of the object to be uploaded * @param uploadId The upload ID of the multipart upload to abort * @return True if the multipart upload is successfully aborted, false otherwise */ public static boolean abortDirectoryBucketMultipartUpload(S3Client s3Client, String bucketName, String objectKey, String uploadId) { logger.info("Aborting multipart upload: {} for bucket: {}", uploadId, bucketName); try { // Abort the multipart upload AbortMultipartUploadRequest abortMultipartUploadRequest = AbortMultipartUploadRequest.builder() .bucket(bucketName) .key(objectKey) .uploadId(uploadId) .build(); s3Client.abortMultipartUpload(abortMultipartUploadRequest); logger.info("Aborted multipart upload: {} for object: {}", uploadId, objectKey); return true; } catch (S3Exception e) { logger.error("Failed to abort multipart upload: {} - Error code: {}", e.awsErrorDetails().errorMessage(), e.awsErrorDetails().errorCode(), e); return false; } }