Use ListParts with an AWS SDK - AWS SDK Code Examples

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

Use ListParts with an AWS SDK

The following code example shows how to use ListParts.

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.

List parts of 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.ListPartsRequest; import software.amazon.awssdk.services.s3.model.ListPartsResponse; import software.amazon.awssdk.services.s3.model.Part; import software.amazon.awssdk.services.s3.model.S3Exception; import java.io.IOException; import java.nio.file.Path; import java.util.List; import static com.example.s3.util.S3DirectoryBucketUtils.abortDirectoryBucketMultipartUploads; 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; import static com.example.s3.util.S3DirectoryBucketUtils.getFilePath; import static com.example.s3.util.S3DirectoryBucketUtils.multipartUploadForDirectoryBucket; /** * Lists the parts of a 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 being uploaded * @param uploadId The upload ID used to track the multipart upload * @return A list of Part representing the parts of the multipart upload */ public static List<Part> listDirectoryBucketMultipartUploadParts(S3Client s3Client, String bucketName, String objectKey, String uploadId) { logger.info("Listing parts for object: {} in bucket: {}", objectKey, bucketName); try { // Create a ListPartsRequest ListPartsRequest listPartsRequest = ListPartsRequest.builder() .bucket(bucketName) .uploadId(uploadId) .key(objectKey) .build(); // List the parts of the multipart upload ListPartsResponse response = s3Client.listParts(listPartsRequest); List<Part> parts = response.parts(); for (Part part : parts) { logger.info("Uploaded part: Part number = \"{}\", etag = {}", part.partNumber(), part.eTag()); } return parts; } catch (S3Exception e) { logger.error("Failed to list parts: {} - Error code: {}", e.awsErrorDetails().errorMessage(), e.awsErrorDetails().errorCode()); return List.of(); // Return an empty list if an exception is thrown } }
  • For API details, see ListParts in AWS SDK for Java 2.x API Reference.