Skip to content

Commit 5052321

Browse files
authored
Migration tool - S3 transforms (#6014)
1 parent 547c5b0 commit 5052321

File tree

16 files changed

+324
-78
lines changed

16 files changed

+324
-78
lines changed

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven-nocompile/after/src/main/java/foo/bar/S3Transforms.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package foo.bar;
1717

1818
import com.amazonaws.HttpMethod;
19+
import com.amazonaws.services.s3.model.MultiFactorAuthentication;
1920
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
2021
import com.amazonaws.services.s3.model.SSECustomerKey;
2122
import java.io.ByteArrayInputStream;
@@ -25,6 +26,7 @@
2526
import software.amazon.awssdk.core.async.AsyncRequestBody;
2627
import software.amazon.awssdk.services.s3.S3Client;
2728
import software.amazon.awssdk.services.s3.model.AccessControlPolicy;
29+
import software.amazon.awssdk.services.s3.model.DeleteObjectRequest;
2830
import software.amazon.awssdk.services.s3.model.GeneratePresignedUrlRequest;
2931
import software.amazon.awssdk.services.s3.model.HeadObjectResponse;
3032
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
@@ -33,6 +35,12 @@
3335

3436
public class S3Transforms {
3537

38+
void s3Pojos() {
39+
DeleteObjectRequest deleteVersionRequest =
40+
DeleteObjectRequest.builder().bucket("bucket").key("key").versionId("id").mfa(new MultiFactorAuthentication("serialNum", "token"))
41+
.build();
42+
}
43+
3644
void upload_streamWithLiteralLength(S3TransferManager tm, String bucket, String key) {
3745
HeadObjectResponse metadata = HeadObjectResponse.builder()
3846
.build();

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven-nocompile/before/src/main/java/foo/bar/S3Transforms.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import com.amazonaws.HttpMethod;
1919
import com.amazonaws.services.s3.AmazonS3;
2020
import com.amazonaws.services.s3.model.AccessControlList;
21+
import com.amazonaws.services.s3.model.DeleteVersionRequest;
2122
import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
23+
import com.amazonaws.services.s3.model.MultiFactorAuthentication;
2224
import com.amazonaws.services.s3.model.ObjectMetadata;
2325
import com.amazonaws.services.s3.model.PutObjectRequest;
2426
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
@@ -31,6 +33,11 @@
3133

3234
public class S3Transforms {
3335

36+
void s3Pojos() {
37+
DeleteVersionRequest deleteVersionRequest =
38+
new DeleteVersionRequest("bucket", "key", "id", new MultiFactorAuthentication("serialNum", "token"));
39+
}
40+
3441
void upload_streamWithLiteralLength(TransferManager tm, String bucket, String key) {
3542
ObjectMetadata metadata = new ObjectMetadata();
3643
metadata.setContentLength(333);

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/after/src/main/java/foo/bar/S3.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
import software.amazon.awssdk.services.s3.model.PutBucketReplicationRequest;
107107
import software.amazon.awssdk.services.s3.model.PutBucketRequestPaymentRequest;
108108
import software.amazon.awssdk.services.s3.model.PutBucketTaggingRequest;
109+
import software.amazon.awssdk.services.s3.model.PutBucketVersioningRequest;
109110
import software.amazon.awssdk.services.s3.model.PutBucketWebsiteRequest;
110111
import software.amazon.awssdk.services.s3.model.ReplicationConfiguration;
111112
import software.amazon.awssdk.services.s3.model.RequestPaymentConfiguration;
@@ -115,6 +116,7 @@
115116
import software.amazon.awssdk.services.s3.model.Tagging;
116117
import software.amazon.awssdk.services.s3.model.UploadPartCopyRequest;
117118
import software.amazon.awssdk.services.s3.model.UploadPartCopyResponse;
119+
import software.amazon.awssdk.services.s3.model.VersioningConfiguration;
118120
import software.amazon.awssdk.services.s3.model.WebsiteConfiguration;
119121
import software.amazon.awssdk.services.s3.presigner.S3Presigner;
120122

@@ -350,6 +352,9 @@ private void pojosWithConstructorArgs(String bucket) {
350352
PutBucketNotificationConfigurationRequest notificationRequest = PutBucketNotificationConfigurationRequest.builder().bucket(bucket).notificationConfiguration(NotificationConfiguration.builder()
351353
.build())
352354
.build();
355+
PutBucketNotificationConfigurationRequest notificationRequest2 = PutBucketNotificationConfigurationRequest.builder().notificationConfiguration(NotificationConfiguration.builder()
356+
.build()).bucket(bucket)
357+
.build();
353358
PutBucketTaggingRequest tagRequest = PutBucketTaggingRequest.builder().bucket(bucket).tagging(Tagging.builder()
354359
.build())
355360
.build();
@@ -389,6 +394,9 @@ private void setBucketConfigs(S3Client s3, String bucket) {
389394
s3.putBucketWebsite(PutBucketWebsiteRequest.builder().bucket(bucket).websiteConfiguration(WebsiteConfiguration.builder()
390395
.build())
391396
.build());
397+
s3.putBucketVersioning(PutBucketVersioningRequest.builder().bucket(bucket).versioningConfiguration(VersioningConfiguration.builder()
398+
.build())
399+
.build());
392400
}
393401

394402
private void setBucketNameTest(S3Client s3, String bucket) {
@@ -446,4 +454,8 @@ private void getS3AccountOwner(S3Client s3) {
446454
.build();
447455
Owner owner3 = s3.listBuckets(getS3AccountOwnerRequest).owner();
448456
}
457+
458+
private void getRegionName(S3Client s3) {
459+
String region = s3.serviceClientConfiguration().region().id();
460+
}
449461
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/after/src/main/java/foo/bar/S3Pojos.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,20 @@
2222
import software.amazon.awssdk.services.s3.model.CSVOutput;
2323
import software.amazon.awssdk.services.s3.model.Condition;
2424
import software.amazon.awssdk.services.s3.model.Destination;
25-
import software.amazon.awssdk.services.s3.model.GetBucketVersioningResponse;
2625
import software.amazon.awssdk.services.s3.model.Grantee;
2726
import software.amazon.awssdk.services.s3.model.JSONInput;
2827
import software.amazon.awssdk.services.s3.model.JSONOutput;
2928
import software.amazon.awssdk.services.s3.model.ListMultipartUploadsResponse;
3029
import software.amazon.awssdk.services.s3.model.ListPartsResponse;
3130
import software.amazon.awssdk.services.s3.model.MetadataEntry;
31+
import software.amazon.awssdk.services.s3.model.Owner;
3232
import software.amazon.awssdk.services.s3.model.Part;
33+
import software.amazon.awssdk.services.s3.model.PartitionDateSource;
34+
import software.amazon.awssdk.services.s3.model.PartitionedPrefix;
3335
import software.amazon.awssdk.services.s3.model.RedirectAllRequestsTo;
3436
import software.amazon.awssdk.services.s3.model.S3Object;
3537
import software.amazon.awssdk.services.s3.model.Tag;
38+
import software.amazon.awssdk.services.s3.model.VersioningConfiguration;
3639

3740
public class S3Pojos {
3841

@@ -69,9 +72,15 @@ public void s3Pojos(String bucket, String key, String id, String value) {
6972
.build();
7073
S3Object s3ObjectSummary = S3Object.builder()
7174
.build();
72-
GetBucketVersioningResponse bucketVersioningConfiguration = GetBucketVersioningResponse.builder()
75+
VersioningConfiguration bucketVersioningConfiguration = VersioningConfiguration.builder()
76+
.build();
77+
VersioningConfiguration bucketVersioningConfiguration2 = VersioningConfiguration.builder().status("status")
7378
.build();
7479
Bucket bucketPojo = Bucket.builder().name("name")
7580
.build();
81+
Owner owner = Owner.builder().id(id).displayName("displayName")
82+
.build();
83+
PartitionedPrefix partitionedPrefix = PartitionedPrefix.builder().partitionDateSource(PartitionDateSource.DELIVERY_TIME)
84+
.build();
7685
}
7786
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/after/src/main/java/foo/bar/S3RequestConstructor.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,19 @@
107107
import software.amazon.awssdk.services.s3.model.PutBucketMetricsConfigurationRequest;
108108
import software.amazon.awssdk.services.s3.model.PutBucketNotificationConfigurationRequest;
109109
import software.amazon.awssdk.services.s3.model.PutBucketOwnershipControlsRequest;
110+
import software.amazon.awssdk.services.s3.model.PutBucketPolicyRequest;
110111
import software.amazon.awssdk.services.s3.model.PutBucketReplicationRequest;
111112
import software.amazon.awssdk.services.s3.model.PutBucketTaggingRequest;
113+
import software.amazon.awssdk.services.s3.model.PutBucketVersioningRequest;
112114
import software.amazon.awssdk.services.s3.model.ReplicationConfiguration;
115+
import software.amazon.awssdk.services.s3.model.RequestPayer;
113116
import software.amazon.awssdk.services.s3.model.RestoreObjectRequest;
117+
import software.amazon.awssdk.services.s3.model.RestoreObjectResponse;
118+
import software.amazon.awssdk.services.s3.model.RestoreRequest;
119+
import software.amazon.awssdk.services.s3.model.Tag;
114120
import software.amazon.awssdk.services.s3.model.Tagging;
115121
import software.amazon.awssdk.services.s3.model.UploadPartCopyRequest;
122+
import software.amazon.awssdk.services.s3.model.VersioningConfiguration;
116123

117124
public class S3RequestConstructor {
118125
S3Client s3 = S3Client.create();
@@ -298,6 +305,12 @@ public void requestconstructor() {
298305
GetObjectRequest.builder().bucket(bucketName).key(objectKey).versionId("3")
299306
.build());
300307

308+
GetObjectRequest getObjectRequestRequesterPaysTrue = GetObjectRequest.builder().bucket(bucketName).key(objectKey).requestPayer(RequestPayer.REQUESTER)
309+
.build();
310+
311+
GetObjectRequest getObjectRequestRequesterPaysFalse = GetObjectRequest.builder().bucket(bucketName).key(objectKey)
312+
.build();
313+
301314
//INCOMPATIBLE RESPONSE
302315
s3.getObjectAcl(GetObjectAclRequest.builder().bucket(bucketName).key(objectKey)
303316
.build());
@@ -427,9 +440,25 @@ public void requestconstructor() {
427440

428441
RestoreObjectRequest restoreObjectRequest = RestoreObjectRequest.builder().bucket(bucketName).key(objectKey)
429442
.build();
443+
RestoreObjectRequest restoreObjectRequest2 = RestoreObjectRequest.builder().bucket(bucketName).key(objectKey).restoreRequest(RestoreRequest.builder().days(77).build())
444+
.build();
445+
RestoreObjectResponse restoreObjectResult = s3.restoreObject(restoreObjectRequest);
430446

431447
GetBucketRequestPaymentRequest getRequestPaymentConfigurationRequest =
432448
GetBucketRequestPaymentRequest.builder().bucket(bucketName)
433449
.build();
450+
451+
PutBucketPolicyRequest setBucketPolicyRequest = PutBucketPolicyRequest.builder().bucket(bucketName).policy("policyText")
452+
.build();
453+
454+
List<Tag> tags = new ArrayList<>();
455+
GetObjectTaggingResponse getObjectTaggingResult = GetObjectTaggingResponse.builder().tagSet(tags)
456+
.build();
457+
458+
PutBucketVersioningRequest setBucketVersioningConfigurationRequest =
459+
PutBucketVersioningRequest.builder().bucket(bucketName).versioningConfiguration(VersioningConfiguration.builder()
460+
.build())
461+
.build();
462+
s3.putBucketVersioning(setBucketVersioningConfigurationRequest);
434463
}
435464
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/after/src/main/java/foo/bar/S3Streaming.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,13 @@ public class S3Streaming {
3939

4040
S3Client s3 = S3Client.create();
4141

42-
void getObject(String bucket, String key) throws Exception {
42+
void getObject(String bucket, String key, File file) throws Exception {
4343
ResponseInputStream<GetObjectResponse> s3Object = s3.getObject(GetObjectRequest.builder().bucket(bucket).key(key)
4444
.build());
4545
s3Object.close();
46+
47+
s3.getObject(GetObjectRequest.builder().bucket(bucket).key(key)
48+
.build(), file.toPath());
4649
}
4750

4851
void putObject_bucketKeyContent(String bucket, String key, String content) {

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/before/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<dependency>
3434
<groupId>com.amazonaws</groupId>
3535
<artifactId>aws-java-sdk-bom</artifactId>
36-
<version>1.11.1000</version>
36+
<version>1.12.782</version>
3737
<type>pom</type>
3838
<scope>import</scope>
3939
</dependency>

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/before/src/main/java/foo/bar/S3.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.amazonaws.services.s3.model.BucketNotificationConfiguration;
2828
import com.amazonaws.services.s3.model.BucketReplicationConfiguration;
2929
import com.amazonaws.services.s3.model.BucketTaggingConfiguration;
30+
import com.amazonaws.services.s3.model.BucketVersioningConfiguration;
3031
import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;
3132
import com.amazonaws.services.s3.model.CORSRule;
3233
import com.amazonaws.services.s3.model.CompleteMultipartUploadRequest;
@@ -54,6 +55,7 @@
5455
import com.amazonaws.services.s3.model.SetBucketLifecycleConfigurationRequest;
5556
import com.amazonaws.services.s3.model.SetBucketNotificationConfigurationRequest;
5657
import com.amazonaws.services.s3.model.SetBucketTaggingConfigurationRequest;
58+
import com.amazonaws.services.s3.model.SetBucketVersioningConfigurationRequest;
5759
import com.amazonaws.services.s3.model.SetBucketWebsiteConfigurationRequest;
5860
import com.amazonaws.services.s3.model.StorageClass;
5961
import com.amazonaws.services.s3.model.analytics.AnalyticsConfiguration;
@@ -230,6 +232,7 @@ private void pojosWithConstructorArgs(String bucket) {
230232
AbortMultipartUploadRequest abortMultipartUploadRequest = new AbortMultipartUploadRequest(bucket, "key", "versionId");
231233
SetBucketLifecycleConfigurationRequest lifecycleRequest = new SetBucketLifecycleConfigurationRequest(bucket, new BucketLifecycleConfiguration());
232234
SetBucketNotificationConfigurationRequest notificationRequest = new SetBucketNotificationConfigurationRequest(bucket, new BucketNotificationConfiguration());
235+
SetBucketNotificationConfigurationRequest notificationRequest2 = new SetBucketNotificationConfigurationRequest(new BucketNotificationConfiguration(), bucket);
233236
SetBucketTaggingConfigurationRequest tagRequest = new SetBucketTaggingConfigurationRequest(bucket, new BucketTaggingConfiguration());
234237
SetBucketWebsiteConfigurationRequest websiteRequest = new SetBucketWebsiteConfigurationRequest(bucket, new BucketWebsiteConfiguration());
235238
}
@@ -245,6 +248,7 @@ private void setBucketConfigs(AmazonS3 s3, String bucket) {
245248
s3.setBucketReplicationConfiguration(bucket, new BucketReplicationConfiguration());
246249
s3.setBucketTaggingConfiguration(bucket, new BucketTaggingConfiguration());
247250
s3.setBucketWebsiteConfiguration(bucket, new BucketWebsiteConfiguration());
251+
s3.setBucketVersioningConfiguration(new SetBucketVersioningConfigurationRequest(bucket, new BucketVersioningConfiguration()));
248252
}
249253

250254
private void setBucketNameTest(AmazonS3 s3, String bucket) {
@@ -283,4 +287,8 @@ private void getS3AccountOwner(AmazonS3 s3) {
283287
GetS3AccountOwnerRequest getS3AccountOwnerRequest = new GetS3AccountOwnerRequest();
284288
Owner owner3 = s3.getS3AccountOwner(getS3AccountOwnerRequest);
285289
}
290+
291+
private void getRegionName(AmazonS3 s3) {
292+
String region = s3.getRegionName();
293+
}
286294
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/before/src/main/java/foo/bar/S3Pojos.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.amazonaws.services.s3.model.Bucket;
1919
import com.amazonaws.services.s3.model.BucketAccelerateConfiguration;
20+
import com.amazonaws.services.s3.model.BucketNotificationConfiguration;
2021
import com.amazonaws.services.s3.model.BucketVersioningConfiguration;
2122
import com.amazonaws.services.s3.model.CSVInput;
2223
import com.amazonaws.services.s3.model.CSVOutput;
@@ -26,6 +27,9 @@
2627
import com.amazonaws.services.s3.model.JSONOutput;
2728
import com.amazonaws.services.s3.model.MetadataEntry;
2829
import com.amazonaws.services.s3.model.MultipartUploadListing;
30+
import com.amazonaws.services.s3.model.Owner;
31+
import com.amazonaws.services.s3.model.PartitionDateSource;
32+
import com.amazonaws.services.s3.model.PartitionedPrefix;
2933
import com.amazonaws.services.s3.model.PartListing;
3034
import com.amazonaws.services.s3.model.PartSummary;
3135
import com.amazonaws.services.s3.model.RedirectRule;
@@ -55,6 +59,9 @@ public void s3Pojos(String bucket, String key, String id, String value) {
5559
RoutingRuleCondition routingRuleCondition = new RoutingRuleCondition();
5660
S3ObjectSummary s3ObjectSummary = new S3ObjectSummary();
5761
BucketVersioningConfiguration bucketVersioningConfiguration = new BucketVersioningConfiguration();
62+
BucketVersioningConfiguration bucketVersioningConfiguration2 = new BucketVersioningConfiguration("status");
5863
Bucket bucketPojo = new Bucket("name");
64+
Owner owner = new Owner(id, "displayName");
65+
PartitionedPrefix partitionedPrefix = new PartitionedPrefix(PartitionDateSource.DELIVERY_TIME);
5966
}
6067
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/before/src/main/java/foo/bar/S3RequestConstructor.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.amazonaws.services.s3.model.BucketNotificationConfiguration;
2323
import com.amazonaws.services.s3.model.BucketReplicationConfiguration;
2424
import com.amazonaws.services.s3.model.BucketTaggingConfiguration;
25+
import com.amazonaws.services.s3.model.BucketVersioningConfiguration;
2526
import com.amazonaws.services.s3.model.CompleteMultipartUploadRequest;
2627
import com.amazonaws.services.s3.model.CopyObjectRequest;
2728
import com.amazonaws.services.s3.model.CopyPartRequest;
@@ -100,14 +101,18 @@
100101
import com.amazonaws.services.s3.model.ObjectListing;
101102
import com.amazonaws.services.s3.model.ObjectMetadata;
102103
import com.amazonaws.services.s3.model.RestoreObjectRequest;
104+
import com.amazonaws.services.s3.model.RestoreObjectResult;
103105
import com.amazonaws.services.s3.model.S3Object;
104106
import com.amazonaws.services.s3.model.SetBucketAnalyticsConfigurationRequest;
105107
import com.amazonaws.services.s3.model.SetBucketLifecycleConfigurationRequest;
106108
import com.amazonaws.services.s3.model.SetBucketMetricsConfigurationRequest;
107109
import com.amazonaws.services.s3.model.SetBucketNotificationConfigurationRequest;
108110
import com.amazonaws.services.s3.model.SetBucketOwnershipControlsRequest;
111+
import com.amazonaws.services.s3.model.SetBucketPolicyRequest;
109112
import com.amazonaws.services.s3.model.SetBucketReplicationConfigurationRequest;
110113
import com.amazonaws.services.s3.model.SetBucketTaggingConfigurationRequest;
114+
import com.amazonaws.services.s3.model.SetBucketVersioningConfigurationRequest;
115+
import com.amazonaws.services.s3.model.Tag;
111116
import com.amazonaws.services.s3.model.analytics.AnalyticsConfiguration;
112117
import com.amazonaws.services.s3.model.metrics.MetricsConfiguration;
113118
import com.amazonaws.services.s3.model.ownership.OwnershipControls;
@@ -248,6 +253,10 @@ public void requestconstructor() {
248253
S3Object s3Object2 = s3.getObject(
249254
new GetObjectRequest(bucketName, objectKey, "3"));
250255

256+
GetObjectRequest getObjectRequestRequesterPaysTrue = new GetObjectRequest(bucketName, objectKey, true);
257+
258+
GetObjectRequest getObjectRequestRequesterPaysFalse = new GetObjectRequest(bucketName, objectKey, false);
259+
251260
//INCOMPATIBLE RESPONSE
252261
s3.getObjectAcl(new GetObjectAclRequest(bucketName, objectKey));
253262

@@ -341,8 +350,19 @@ public void requestconstructor() {
341350
ListPartsRequest listPartsRequest = new ListPartsRequest(bucketName, objectKey, "id");
342351

343352
RestoreObjectRequest restoreObjectRequest = new RestoreObjectRequest(bucketName, objectKey);
353+
RestoreObjectRequest restoreObjectRequest2 = new RestoreObjectRequest(bucketName, objectKey, 77);
354+
RestoreObjectResult restoreObjectResult = s3.restoreObjectV2(restoreObjectRequest);
344355

345356
GetRequestPaymentConfigurationRequest getRequestPaymentConfigurationRequest =
346357
new GetRequestPaymentConfigurationRequest(bucketName);
358+
359+
SetBucketPolicyRequest setBucketPolicyRequest = new SetBucketPolicyRequest(bucketName, "policyText");
360+
361+
List<Tag> tags = new ArrayList<>();
362+
GetObjectTaggingResult getObjectTaggingResult = new GetObjectTaggingResult(tags);
363+
364+
SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest =
365+
new SetBucketVersioningConfigurationRequest(bucketName, new BucketVersioningConfiguration());
366+
s3.setBucketVersioningConfiguration(setBucketVersioningConfigurationRequest);
347367
}
348368
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/before/src/main/java/foo/bar/S3Streaming.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.amazonaws.services.s3.AmazonS3;
1919
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
2020
import com.amazonaws.services.s3.model.CannedAccessControlList;
21+
import com.amazonaws.services.s3.model.GetObjectRequest;
2122
import com.amazonaws.services.s3.model.ObjectMetadata;
2223
import com.amazonaws.services.s3.model.ObjectTagging;
2324
import com.amazonaws.services.s3.model.PutObjectRequest;
@@ -36,9 +37,11 @@ public class S3Streaming {
3637

3738
AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
3839

39-
void getObject(String bucket, String key) throws Exception {
40+
void getObject(String bucket, String key, File file) throws Exception {
4041
S3Object s3Object = s3.getObject(bucket, key);
4142
s3Object.getObjectContent().close();
43+
44+
s3.getObject(new GetObjectRequest(bucket, key), file);
4245
}
4346

4447
void putObject_bucketKeyContent(String bucket, String key, String content) {

0 commit comments

Comments
 (0)