5454 */
5555
5656public class AbortMultipartUploadExamples {
57- static final String bucketName = "x- " + UUID .randomUUID ();
57+ static final String bucketName = "amzn-s3-demo-bucket " + UUID .randomUUID (); // Change bucket name.
5858 static final String key = UUID .randomUUID ().toString ();
5959 static final String classPathFilePath = "/multipartUploadFiles/s3-userguide.pdf" ;
6060 static final String filePath = getFullFilePath (classPathFilePath );
@@ -78,22 +78,28 @@ public static void doAbortIncompleteMultipartUploadsFromList() {
7878 }
7979
8080 // snippet-start:[s3.java2.abort_upload_from_list]
81+ /**
82+ * Aborts all incomplete multipart uploads from the specified S3 bucket.
83+ * <p>
84+ * This method retrieves a list of all incomplete multipart uploads in the specified S3 bucket,
85+ * and then aborts each of those uploads.
86+ */
8187 public static void abortIncompleteMultipartUploadsFromList () {
8288 ListMultipartUploadsRequest listMultipartUploadsRequest = ListMultipartUploadsRequest .builder ()
83- .bucket (bucketName )
84- .build ();
89+ .bucket (bucketName )
90+ .build ();
8591
8692 ListMultipartUploadsResponse response = s3Client .listMultipartUploads (listMultipartUploadsRequest );
8793 List <MultipartUpload > uploads = response .uploads ();
8894
8995 AbortMultipartUploadRequest abortMultipartUploadRequest ;
9096 for (MultipartUpload upload : uploads ) {
9197 abortMultipartUploadRequest = AbortMultipartUploadRequest .builder ()
92- .bucket (bucketName )
93- .key (upload .key ())
94- .expectedBucketOwner (accountId )
95- .uploadId (upload .uploadId ())
96- .build ();
98+ .bucket (bucketName )
99+ .key (upload .key ())
100+ .expectedBucketOwner (accountId )
101+ .uploadId (upload .uploadId ())
102+ .build ();
97103
98104 AbortMultipartUploadResponse abortMultipartUploadResponse = s3Client .abortMultipartUpload (abortMultipartUploadRequest );
99105 if (abortMultipartUploadResponse .sdkHttpResponse ().isSuccessful ()) {
@@ -114,8 +120,8 @@ static void doAbortIncompleteMultipartUploadsOlderThan() {
114120 // snippet-start:[s3.java2.abort_upload_older_than]
115121 static void abortIncompleteMultipartUploadsOlderThan (Instant pointInTime ) {
116122 ListMultipartUploadsRequest listMultipartUploadsRequest = ListMultipartUploadsRequest .builder ()
117- .bucket (bucketName )
118- .build ();
123+ .bucket (bucketName )
124+ .build ();
119125
120126 ListMultipartUploadsResponse response = s3Client .listMultipartUploads (listMultipartUploadsRequest );
121127 List <MultipartUpload > uploads = response .uploads ();
@@ -125,11 +131,11 @@ static void abortIncompleteMultipartUploadsOlderThan(Instant pointInTime) {
125131 logger .info ("Found multipartUpload with upload ID [{}], initiated [{}]" , upload .uploadId (), upload .initiated ());
126132 if (upload .initiated ().isBefore (pointInTime )) {
127133 abortMultipartUploadRequest = AbortMultipartUploadRequest .builder ()
128- .bucket (bucketName )
129- .key (upload .key ())
130- .expectedBucketOwner (accountId )
131- .uploadId (upload .uploadId ())
132- .build ();
134+ .bucket (bucketName )
135+ .key (upload .key ())
136+ .expectedBucketOwner (accountId )
137+ .uploadId (upload .uploadId ())
138+ .build ();
133139
134140 AbortMultipartUploadResponse abortMultipartUploadResponse = s3Client .abortMultipartUpload (abortMultipartUploadRequest );
135141 if (abortMultipartUploadResponse .sdkHttpResponse ().isSuccessful ()) {
@@ -156,9 +162,9 @@ static void doAbortMultipartUploadUsingUploadId() {
156162 static void abortMultipartUploadUsingUploadId () {
157163 String uploadId = startUploadReturningUploadId ();
158164 AbortMultipartUploadResponse response = s3Client .abortMultipartUpload (b -> b
159- .uploadId (uploadId )
160- .bucket (bucketName )
161- .key (key ));
165+ .uploadId (uploadId )
166+ .bucket (bucketName )
167+ .key (key ));
162168
163169 if (response .sdkHttpResponse ().isSuccessful ()) {
164170 logger .info ("Upload ID [{}] to bucket [{}] successfully aborted." , uploadId , bucketName );
@@ -181,16 +187,16 @@ static void doAbortMultipartUploadsUsingLifecycleConfig() {
181187 // snippet-start:[s3.java2.abort_upload_using_lifecycle_config]
182188 static void abortMultipartUploadsUsingLifecycleConfig () {
183189 Collection <LifecycleRule > lifeCycleRules = List .of (LifecycleRule .builder ()
184- .abortIncompleteMultipartUpload (b -> b .
185- daysAfterInitiation (7 ))
186- .status ("Enabled" )
187- .filter (SdkBuilder ::build ) // Filter element is required.
188- .build ());
190+ .abortIncompleteMultipartUpload (b -> b .
191+ daysAfterInitiation (7 ))
192+ .status ("Enabled" )
193+ .filter (SdkBuilder ::build ) // Filter element is required.
194+ .build ());
189195
190196 // If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
191197 PutBucketLifecycleConfigurationResponse response = s3Client .putBucketLifecycleConfiguration (b -> b
192- .bucket (bucketName )
193- .lifecycleConfiguration (b1 -> b1 .rules (lifeCycleRules )));
198+ .bucket (bucketName )
199+ .lifecycleConfiguration (b1 -> b1 .rules (lifeCycleRules )));
194200
195201 if (response .sdkHttpResponse ().isSuccessful ()) {
196202 logger .info ("Rule to abort incomplete multipart uploads added to bucket." );
@@ -243,8 +249,8 @@ static void doMultipartUpload() {
243249
244250 static String step1CreateMultipartUpload () {
245251 CreateMultipartUploadResponse createMultipartUploadResponse = s3Client .createMultipartUpload (b -> b
246- .bucket (bucketName )
247- .key (key ));
252+ .bucket (bucketName )
253+ .key (key ));
248254 return createMultipartUploadResponse .uploadId ();
249255 }
250256
@@ -262,20 +268,20 @@ static List<CompletedPart> step2UploadParts(String uploadId) {
262268
263269 bb .flip (); // Swap position and limit before reading from the buffer.
264270 UploadPartRequest uploadPartRequest = UploadPartRequest .builder ()
265- .bucket (bucketName )
266- .key (key )
267- .uploadId (uploadId )
268- .partNumber (partNumber )
269- .build ();
271+ .bucket (bucketName )
272+ .key (key )
273+ .uploadId (uploadId )
274+ .partNumber (partNumber )
275+ .build ();
270276
271277 UploadPartResponse partResponse = s3Client .uploadPart (
272- uploadPartRequest ,
273- RequestBody .fromByteBuffer (bb ));
278+ uploadPartRequest ,
279+ RequestBody .fromByteBuffer (bb ));
274280
275281 CompletedPart part = CompletedPart .builder ()
276- .partNumber (partNumber )
277- .eTag (partResponse .eTag ())
278- .build ();
282+ .partNumber (partNumber )
283+ .eTag (partResponse .eTag ())
284+ .build ();
279285 completedParts .add (part );
280286 logger .info ("Part {} upload" , partNumber );
281287
@@ -292,10 +298,10 @@ static List<CompletedPart> step2UploadParts(String uploadId) {
292298
293299 static void step3CompleteMultipartUpload (String uploadId , List <CompletedPart > completedParts ) {
294300 s3Client .completeMultipartUpload (b -> b
295- .bucket (bucketName )
296- .key (key )
297- .uploadId (uploadId )
298- .multipartUpload (CompletedMultipartUpload .builder ().parts (completedParts ).build ()));
301+ .bucket (bucketName )
302+ .key (key )
303+ .uploadId (uploadId )
304+ .multipartUpload (CompletedMultipartUpload .builder ().parts (completedParts ).build ()));
299305 }
300306
301307 static String startUploadReturningUploadId () {
0 commit comments