Skip to content

Commit e837d87

Browse files
authored
Java v2 s3: Update bucket names (#6955)
1 parent b9b6146 commit e837d87

File tree

67 files changed

+2256
-1433
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+2256
-1433
lines changed

.doc_gen/metadata/s3-control_metadata.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,15 @@ s3-control_CreateJob:
2424
github: javav2/example_code/s3
2525
sdkguide:
2626
excerpts:
27-
- description:
27+
- description: Create an asynchronous S3 job.
2828
snippet_tags:
2929
- s3control.java2.create_job.async.main
30+
- description: Create a compliance retention job.
31+
snippet_tags:
32+
- s3control.java2.create_job.compliance.main
33+
- description: Create a legal hold off job.
34+
snippet_tags:
35+
- s3control.java2.create_job.compliance.main
3036
services:
3137
s3-control: {CreateJob}
3238
s3-control_PutJobTagging:
@@ -108,10 +114,8 @@ s3-control_UpdateJobPriority:
108114
services:
109115
s3-control: {UpdateJobPriority}
110116
s3-control_Basics:
111-
title: Learn core operations for'&S3Control;' using an &AWS; SDK
112-
title_abbrev: Learn core operations
113117
synopsis: learn core operations for'&S3Control;'.
114-
category: Scenarios
118+
category: Basics
115119
languages:
116120
Java:
117121
versions:

javav2/example_code/s3/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,29 +45,29 @@ Code examples that show you how to perform the essential operations within a ser
4545

4646
Code excerpts that show you how to call individual service functions.
4747

48-
- [CopyObject](src/main/java/com/example/s3/scenario/S3Actions.java#L203)
49-
- [CreateBucket](src/main/java/com/example/s3/scenario/S3Actions.java#L85)
50-
- [DeleteBucket](src/main/java/com/example/s3/scenario/S3Actions.java#L342)
48+
- [CopyObject](src/main/java/com/example/s3/scenario/S3Actions.java#L212)
49+
- [CreateBucket](src/main/java/com/example/s3/scenario/S3Actions.java#L90)
50+
- [DeleteBucket](src/main/java/com/example/s3/scenario/S3Actions.java#L353)
5151
- [DeleteBucketPolicy](src/main/java/com/example/s3/DeleteBucketPolicy.java#L6)
5252
- [DeleteBucketWebsite](src/main/java/com/example/s3/DeleteWebsiteConfiguration.java#L6)
53-
- [DeleteObject](src/main/java/com/example/s3/scenario/S3Actions.java#L315)
53+
- [DeleteObject](src/main/java/com/example/s3/scenario/S3Actions.java#L325)
5454
- [DeleteObjects](src/main/java/com/example/s3/DeleteMultiObjects.java#L6)
5555
- [GetBucketAcl](src/main/java/com/example/s3/GetAcl.java#L6)
5656
- [GetBucketPolicy](src/main/java/com/example/s3/GetBucketPolicy.java#L6)
57-
- [GetObject](src/main/java/com/example/s3/scenario/S3Actions.java#L144)
57+
- [GetObject](src/main/java/com/example/s3/scenario/S3Actions.java#L151)
5858
- [GetObjectLegalHold](src/main/java/com/example/s3/lockscenario/S3LockActions.java#L94)
5959
- [GetObjectLockConfiguration](src/main/java/com/example/s3/lockscenario/S3LockActions.java#L345)
6060
- [GetObjectRetention](src/main/java/com/example/s3/lockscenario/S3LockActions.java#L309)
6161
- [HeadObject](src/main/java/com/example/s3/GetObjectContentType.java#L6)
6262
- [ListBuckets](src/main/java/com/example/s3/ListBuckets.java#L6)
6363
- [ListMultipartUploads](src/main/java/com/example/s3/ListMultipartUploads.java#L6)
64-
- [ListObjectsV2](src/main/java/com/example/s3/scenario/S3Actions.java#L177)
64+
- [ListObjectsV2](src/main/java/com/example/s3/scenario/S3Actions.java#L185)
6565
- [PutBucketAcl](src/main/java/com/example/s3/SetAcl.java#L6)
6666
- [PutBucketCors](src/main/java/com/example/s3/S3Cors.java#L6)
6767
- [PutBucketLifecycleConfiguration](src/main/java/com/example/s3/LifecycleConfiguration.java#L6)
6868
- [PutBucketPolicy](src/main/java/com/example/s3/SetBucketPolicy.java#L6)
6969
- [PutBucketWebsite](src/main/java/com/example/s3/SetWebsiteConfiguration.java#L6)
70-
- [PutObject](src/main/java/com/example/s3/scenario/S3Actions.java#L120)
70+
- [PutObject](src/main/java/com/example/s3/scenario/S3Actions.java#L126)
7171
- [PutObjectLegalHold](src/main/java/com/example/s3/lockscenario/S3LockActions.java#L255)
7272
- [PutObjectLockConfiguration](src/main/java/com/example/s3/lockscenario/S3LockActions.java#L206)
7373
- [PutObjectRetention](src/main/java/com/example/s3/lockscenario/S3LockActions.java#L61)

javav2/example_code/s3/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@
182182
<groupId>software.amazon.awssdk</groupId>
183183
<artifactId>iam-policy-builder</artifactId>
184184
</dependency>
185+
<dependency>
186+
<groupId>software.amazon.awssdk</groupId>
187+
<artifactId>iam</artifactId>
188+
</dependency>
185189
<dependency>
186190
<groupId>org.apache.logging.log4j</groupId>
187191
<artifactId>log4j-core</artifactId>

javav2/example_code/s3/src/main/java/com/example/s3/AbortMultipartUploadExamples.java

Lines changed: 47 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
*/
5555

5656
public 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() {

javav2/example_code/s3/src/main/java/com/example/s3/BasicOpsWithChecksums.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
// snippet-start:[s3.java2.basicOpsWithChecksums.full]
4444
public class BasicOpsWithChecksums {
4545
static final S3Client s3Client = S3Client.create();
46-
static final String bucketName = "x-" + UUID.randomUUID();
46+
static final String bucketName = "amzn-s3-demo-bucket" + UUID.randomUUID(); // Change bucket name.
4747
static final String key = UUID.randomUUID().toString();
4848
private static final Logger logger = LoggerFactory.getLogger(BasicOpsWithChecksums.class);
4949

@@ -105,7 +105,7 @@ public void putObjectWithChecksum() {
105105
.bucket(bucketName)
106106
.key(key)
107107
.checksumAlgorithm(ChecksumAlgorithm.CRC32),
108-
RequestBody.fromString("This is a test"));
108+
RequestBody.fromString("This is a test"));
109109
}
110110
// snippet-end:[s3.java2.basicOpsWithChecksums.putObject]
111111

@@ -115,7 +115,7 @@ public GetObjectResponse getObjectWithChecksum() {
115115
.bucket(bucketName)
116116
.key(key)
117117
.checksumMode(ChecksumMode.ENABLED))
118-
.response();
118+
.response();
119119
}
120120
// snippet-end:[s3.java2.basicOpsWithChecksums.getObject]
121121

@@ -127,20 +127,20 @@ public void putObjectWithPrecalculatedChecksum(String filePath) {
127127
.bucket(bucketName)
128128
.key(key)
129129
.checksumSHA256(checksum)),
130-
RequestBody.fromFile(Paths.get(filePath)));
130+
RequestBody.fromFile(Paths.get(filePath)));
131131
}
132132
// snippet-end:[s3.java2.basicOpsWithChecksums.putObjectPreCalc]
133133

134134
// snippet-start:[s3.java2.basicOpsWithChecksums.multiPartTm]
135135
public void multipartUploadWithChecksumTm(String filePath) {
136136
S3TransferManager transferManager = S3TransferManager.create();
137137
UploadFileRequest uploadFileRequest = UploadFileRequest.builder()
138-
.putObjectRequest(b -> b
139-
.bucket(bucketName)
140-
.key(key)
141-
.checksumAlgorithm(ChecksumAlgorithm.SHA1))
142-
.source(Paths.get(filePath))
143-
.build();
138+
.putObjectRequest(b -> b
139+
.bucket(bucketName)
140+
.key(key)
141+
.checksumAlgorithm(ChecksumAlgorithm.SHA1))
142+
.source(Paths.get(filePath))
143+
.build();
144144
FileUpload fileUpload = transferManager.uploadFile(uploadFileRequest);
145145
fileUpload.completionFuture().join();
146146
transferManager.close();
@@ -153,9 +153,9 @@ public void multipartUploadWithChecksumS3Client(String filePath) {
153153

154154
// Initiate the multipart upload.
155155
CreateMultipartUploadResponse createMultipartUploadResponse = s3Client.createMultipartUpload(b -> b
156-
.bucket(bucketName)
157-
.key(key)
158-
.checksumAlgorithm(algorithm)); // Checksum specified on initiation.
156+
.bucket(bucketName)
157+
.key(key)
158+
.checksumAlgorithm(algorithm)); // Checksum specified on initiation.
159159
String uploadId = createMultipartUploadResponse.uploadId();
160160

161161
// Upload the parts of the file.
@@ -172,22 +172,22 @@ public void multipartUploadWithChecksumS3Client(String filePath) {
172172

173173
bb.flip(); // Swap position and limit before reading from the buffer.
174174
UploadPartRequest uploadPartRequest = UploadPartRequest.builder()
175-
.bucket(bucketName)
176-
.key(key)
177-
.uploadId(uploadId)
178-
.checksumAlgorithm(algorithm) // Checksum specified on each part.
179-
.partNumber(partNumber)
180-
.build();
175+
.bucket(bucketName)
176+
.key(key)
177+
.uploadId(uploadId)
178+
.checksumAlgorithm(algorithm) // Checksum specified on each part.
179+
.partNumber(partNumber)
180+
.build();
181181

182182
UploadPartResponse partResponse = s3Client.uploadPart(
183-
uploadPartRequest,
184-
RequestBody.fromByteBuffer(bb));
183+
uploadPartRequest,
184+
RequestBody.fromByteBuffer(bb));
185185

186186
CompletedPart part = CompletedPart.builder()
187-
.partNumber(partNumber)
188-
.checksumCRC32(partResponse.checksumCRC32()) // Provide the calculated checksum.
189-
.eTag(partResponse.eTag())
190-
.build();
187+
.partNumber(partNumber)
188+
.checksumCRC32(partResponse.checksumCRC32()) // Provide the calculated checksum.
189+
.eTag(partResponse.eTag())
190+
.build();
191191
completedParts.add(part);
192192

193193
bb.clear();
@@ -200,10 +200,10 @@ public void multipartUploadWithChecksumS3Client(String filePath) {
200200

201201
// Complete the multipart upload.
202202
s3Client.completeMultipartUpload(b -> b
203-
.bucket(bucketName)
204-
.key(key)
205-
.uploadId(uploadId)
206-
.multipartUpload(CompletedMultipartUpload.builder().parts(completedParts).build()));
203+
.bucket(bucketName)
204+
.key(key)
205+
.uploadId(uploadId)
206+
.multipartUpload(CompletedMultipartUpload.builder().parts(completedParts).build()));
207207
}
208208
// snippet-end:[s3.java2.basicOpsWithChecksums.multiPartS3Client]
209209

0 commit comments

Comments
 (0)