Skip to content

Commit c40283b

Browse files
authored
Add recipes for S3 non-streaming methods (#5759)
1 parent 3649cf5 commit c40283b

File tree

10 files changed

+1034
-51
lines changed

10 files changed

+1034
-51
lines changed

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

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

1818
import software.amazon.awssdk.services.s3.S3Client;
19-
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
20-
import software.amazon.awssdk.services.s3.model.DeleteBucketRequest;
2119
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
2220
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
2321
import software.amazon.awssdk.services.s3.model.PutObjectResponse;
@@ -109,14 +107,4 @@ private static PutObjectResponse uploadString(S3Client s3, String bucket, String
109107

110108
return result;
111109
}
112-
113-
private static void createBucket(S3Client s3, String bucket) {
114-
s3.createBucket(CreateBucketRequest.builder().bucket(bucket)
115-
.build());
116-
}
117-
118-
private static void deleteBucket(S3Client s3, String bucket) {
119-
s3.deleteBucket(DeleteBucketRequest.builder().bucket(bucket)
120-
.build());
121-
}
122110
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package foo.bar;
17+
18+
import software.amazon.awssdk.services.s3.S3Client;
19+
import software.amazon.awssdk.services.s3.model.CORSConfiguration;
20+
import software.amazon.awssdk.services.s3.model.CORSRule;
21+
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
22+
import software.amazon.awssdk.services.s3.model.DeleteBucketAnalyticsConfigurationRequest;
23+
import software.amazon.awssdk.services.s3.model.DeleteBucketCorsRequest;
24+
import software.amazon.awssdk.services.s3.model.DeleteBucketEncryptionRequest;
25+
import software.amazon.awssdk.services.s3.model.DeleteBucketIntelligentTieringConfigurationRequest;
26+
import software.amazon.awssdk.services.s3.model.DeleteBucketInventoryConfigurationRequest;
27+
import software.amazon.awssdk.services.s3.model.DeleteBucketLifecycleRequest;
28+
import software.amazon.awssdk.services.s3.model.DeleteBucketMetricsConfigurationRequest;
29+
import software.amazon.awssdk.services.s3.model.DeleteBucketPolicyRequest;
30+
import software.amazon.awssdk.services.s3.model.DeleteBucketReplicationRequest;
31+
import software.amazon.awssdk.services.s3.model.DeleteBucketRequest;
32+
import software.amazon.awssdk.services.s3.model.DeleteBucketTaggingRequest;
33+
import software.amazon.awssdk.services.s3.model.DeleteBucketWebsiteRequest;
34+
import software.amazon.awssdk.services.s3.model.DeleteObjectRequest;
35+
import software.amazon.awssdk.services.s3.model.GetBucketAccelerateConfigurationRequest;
36+
import software.amazon.awssdk.services.s3.model.GetBucketAclRequest;
37+
import software.amazon.awssdk.services.s3.model.GetBucketAnalyticsConfigurationRequest;
38+
import software.amazon.awssdk.services.s3.model.GetBucketCorsRequest;
39+
import software.amazon.awssdk.services.s3.model.GetBucketEncryptionRequest;
40+
import software.amazon.awssdk.services.s3.model.GetBucketIntelligentTieringConfigurationRequest;
41+
import software.amazon.awssdk.services.s3.model.GetBucketInventoryConfigurationRequest;
42+
import software.amazon.awssdk.services.s3.model.GetBucketLifecycleConfigurationRequest;
43+
import software.amazon.awssdk.services.s3.model.GetBucketLocationRequest;
44+
import software.amazon.awssdk.services.s3.model.GetBucketLoggingRequest;
45+
import software.amazon.awssdk.services.s3.model.GetBucketMetricsConfigurationRequest;
46+
import software.amazon.awssdk.services.s3.model.GetBucketNotificationConfigurationRequest;
47+
import software.amazon.awssdk.services.s3.model.GetBucketPolicyRequest;
48+
import software.amazon.awssdk.services.s3.model.GetBucketReplicationRequest;
49+
import software.amazon.awssdk.services.s3.model.GetBucketTaggingRequest;
50+
import software.amazon.awssdk.services.s3.model.GetBucketVersioningRequest;
51+
import software.amazon.awssdk.services.s3.model.GetBucketWebsiteRequest;
52+
import software.amazon.awssdk.services.s3.model.GetObjectAclRequest;
53+
import software.amazon.awssdk.services.s3.model.HeadObjectRequest;
54+
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
55+
import software.amazon.awssdk.services.s3.model.HeadBucketRequest;
56+
import software.amazon.awssdk.services.s3.model.HeadBucketResponse;
57+
import software.amazon.awssdk.services.s3.model.CreateMultipartUploadRequest;
58+
import software.amazon.awssdk.services.s3.model.CreateMultipartUploadResponse;
59+
import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
60+
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
61+
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
62+
import software.amazon.awssdk.services.s3.model.ListObjectVersionsRequest;
63+
import software.amazon.awssdk.services.s3.model.ListObjectsResponse;
64+
import software.amazon.awssdk.services.s3.model.HeadObjectResponse;
65+
import software.amazon.awssdk.services.s3.model.PutBucketCorsRequest;
66+
67+
public class S3 {
68+
69+
private S3() {
70+
71+
}
72+
73+
private void headBucket(S3Client s3, String bucket) {
74+
HeadBucketRequest headBucketRequest = HeadBucketRequest.builder().bucket(bucket)
75+
.build();
76+
HeadBucketResponse headBucketResult = s3.headBucket(headBucketRequest);
77+
System.out.println(headBucketResult);
78+
}
79+
80+
private void createBucket(S3Client s3, String bucket) {
81+
CreateBucketRequest createBucketRequest = CreateBucketRequest.builder().bucket(bucket)
82+
.build();
83+
s3.createBucket(createBucketRequest);
84+
}
85+
86+
private void deleteBucket(S3Client s3, String bucket) {
87+
DeleteBucketRequest deleteBucketRequest = DeleteBucketRequest.builder().bucket(bucket)
88+
.build();
89+
s3.deleteBucket(deleteBucketRequest);
90+
}
91+
92+
private void getObjectMetaData_to_headObject(S3Client s3, String bucket, String key) {
93+
HeadObjectRequest getObjectMetadataRequest = HeadObjectRequest.builder().bucket("bucket").key("key")
94+
.build();
95+
HeadObjectResponse objectMetadata = s3.headObject(getObjectMetadataRequest);
96+
System.out.println(objectMetadata);
97+
}
98+
99+
private void initiateMpu_to_createMpu(S3Client s3, String bucket, String key) {
100+
CreateMultipartUploadRequest initiateMultipartUploadRequest = CreateMultipartUploadRequest.builder().bucket(bucket).key(key)
101+
.build();
102+
CreateMultipartUploadResponse initiateMultipartUploadResult = s3.createMultipartUpload(initiateMultipartUploadRequest);
103+
System.out.println(initiateMultipartUploadResult);
104+
}
105+
106+
private void listObjects(S3Client s3, String bucket) {
107+
ListObjectsRequest listObjectsRequest = ListObjectsRequest.builder().bucket(bucket)
108+
.build();
109+
ListObjectsResponse objectListing = s3.listObjects(listObjectsRequest);
110+
System.out.println(objectListing);
111+
}
112+
113+
private void listObjectsV2(S3Client s3, String bucket) {
114+
ListObjectsV2Request listObjectsV2Request = ListObjectsV2Request.builder().bucket(bucket)
115+
.build();
116+
ListObjectsV2Response listObjectsV2Result = s3.listObjectsV2(listObjectsV2Request);
117+
System.out.println(listObjectsV2Result);
118+
}
119+
120+
private void cors(S3Client s3, String bucket) {
121+
CORSRule corsRule = CORSRule.builder().id("id").maxAgeSeconds(99)
122+
.build();
123+
CORSConfiguration cors = CORSConfiguration.builder().corsRules(corsRule)
124+
.build();
125+
PutBucketCorsRequest setBucketCrossOriginConfigurationRequest =
126+
PutBucketCorsRequest.builder().bucket(bucket).corsConfiguration(cors)
127+
.build();
128+
s3.putBucketCors(setBucketCrossOriginConfigurationRequest);
129+
130+
GetBucketCorsRequest getBucketCrossOriginConfigurationRequest =
131+
GetBucketCorsRequest.builder().bucket(bucket)
132+
.build();
133+
s3.getBucketCors(getBucketCrossOriginConfigurationRequest);
134+
135+
DeleteBucketCorsRequest deleteBucketCrossOriginConfigurationRequest =
136+
DeleteBucketCorsRequest.builder().bucket(bucket)
137+
.build();
138+
s3.deleteBucketCors(deleteBucketCrossOriginConfigurationRequest);
139+
}
140+
141+
private void singleBucketArgMethods(S3Client s3, String bucket) {
142+
s3.createBucket(CreateBucketRequest.builder().bucket(bucket)
143+
.build());
144+
s3.deleteBucket(DeleteBucketRequest.builder().bucket(bucket)
145+
.build());
146+
s3.listObjects(ListObjectsRequest.builder().bucket(bucket)
147+
.build());
148+
s3.listObjectsV2(ListObjectsV2Request.builder().bucket(bucket)
149+
.build());
150+
s3.getBucketCors(GetBucketCorsRequest.builder().bucket(bucket)
151+
.build());
152+
s3.deleteBucketCors(DeleteBucketCorsRequest.builder().bucket(bucket)
153+
.build());
154+
s3.getBucketVersioning(GetBucketVersioningRequest.builder()
155+
.build());
156+
s3.deleteBucketEncryption(DeleteBucketEncryptionRequest.builder().bucket(bucket)
157+
.build());
158+
s3.deleteBucketPolicy(DeleteBucketPolicyRequest.builder().bucket(bucket)
159+
.build());
160+
s3.getBucketAccelerateConfiguration(GetBucketAccelerateConfigurationRequest.builder().bucket(bucket)
161+
.build());
162+
s3.getBucketAcl(GetBucketAclRequest.builder().bucket(bucket)
163+
.build());
164+
s3.getBucketEncryption(GetBucketEncryptionRequest.builder().bucket(bucket)
165+
.build());
166+
s3.getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest.builder().bucket(bucket)
167+
.build());
168+
s3.getBucketNotificationConfiguration(GetBucketNotificationConfigurationRequest.builder().bucket(bucket)
169+
.build());
170+
s3.getBucketPolicy(GetBucketPolicyRequest.builder().bucket(bucket)
171+
.build());
172+
s3.getBucketLocation(GetBucketLocationRequest.builder().bucket(bucket)
173+
.build());
174+
s3.deleteBucketLifecycle(DeleteBucketLifecycleRequest.builder().bucket(bucket)
175+
.build());
176+
s3.deleteBucketReplication(DeleteBucketReplicationRequest.builder().bucket(bucket)
177+
.build());
178+
s3.deleteBucketTagging(DeleteBucketTaggingRequest.builder().bucket(bucket)
179+
.build());
180+
s3.deleteBucketWebsite(DeleteBucketWebsiteRequest.builder().bucket(bucket)
181+
.build());
182+
s3.getBucketLogging(GetBucketLoggingRequest.builder().bucket(bucket)
183+
.build());
184+
s3.getBucketReplication(GetBucketReplicationRequest.builder().bucket(bucket)
185+
.build());
186+
s3.getBucketTagging(GetBucketTaggingRequest.builder().bucket(bucket)
187+
.build());
188+
s3.getBucketWebsite(GetBucketWebsiteRequest.builder().bucket(bucket)
189+
.build());
190+
}
191+
192+
private void bucketKeyArgsMethods(S3Client s3, String bucket, String key) {
193+
s3.deleteObject(DeleteObjectRequest.builder().bucket(bucket).key(key)
194+
.build());
195+
s3.getObject(GetObjectRequest.builder().bucket(bucket).key(key)
196+
.build());
197+
s3.getObjectAcl(GetObjectAclRequest.builder().bucket(bucket).key(key)
198+
.build());
199+
s3.headObject(HeadObjectRequest.builder().bucket(bucket).key(key)
200+
.build());
201+
}
202+
203+
private void bucketIdArgsMethods(S3Client s3, String bucket, String id) {
204+
s3.deleteBucketAnalyticsConfiguration(DeleteBucketAnalyticsConfigurationRequest.builder().bucket(bucket).id(id)
205+
.build());
206+
s3.deleteBucketIntelligentTieringConfiguration(DeleteBucketIntelligentTieringConfigurationRequest.builder().bucket(bucket).id(id)
207+
.build());
208+
s3.deleteBucketInventoryConfiguration(DeleteBucketInventoryConfigurationRequest.builder().bucket(bucket).id(id)
209+
.build());
210+
s3.deleteBucketMetricsConfiguration(DeleteBucketMetricsConfigurationRequest.builder().bucket(bucket).id(id)
211+
.build());
212+
s3.getBucketAnalyticsConfiguration(GetBucketAnalyticsConfigurationRequest.builder().bucket(bucket).id(id)
213+
.build());
214+
s3.getBucketIntelligentTieringConfiguration(GetBucketIntelligentTieringConfigurationRequest.builder().bucket(bucket).id(id)
215+
.build());
216+
s3.getBucketInventoryConfiguration(GetBucketInventoryConfigurationRequest.builder().bucket(bucket).id(id)
217+
.build());
218+
s3.getBucketMetricsConfiguration(GetBucketMetricsConfigurationRequest.builder().bucket(bucket).id(id)
219+
.build());
220+
}
221+
222+
private void bucketPrefixArgsMethods(S3Client s3, String bucket, String prefix) {
223+
s3.listObjects(ListObjectsRequest.builder().bucket(bucket).prefix(prefix)
224+
.build());
225+
s3.listObjectsV2(ListObjectsV2Request.builder().bucket(bucket).prefix(prefix)
226+
.build());
227+
s3.listObjectVersions(ListObjectVersionsRequest.builder().bucket(bucket).prefix(prefix)
228+
.build());
229+
}
230+
}

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,4 @@ private static PutObjectResult uploadString(AmazonS3 s3, String bucket, String k
100100

101101
return result;
102102
}
103-
104-
private static void createBucket(AmazonS3 s3, String bucket) {
105-
s3.createBucket(bucket);
106-
}
107-
108-
private static void deleteBucket(AmazonS3 s3, String bucket) {
109-
s3.deleteBucket(bucket);
110-
}
111103
}

0 commit comments

Comments
 (0)