Skip to content

Commit

Permalink
Java V2 Add S3 lock scenario files (#6269)
Browse files Browse the repository at this point in the history
  • Loading branch information
scmacdon authored Apr 1, 2024
1 parent 2062c12 commit d1d2106
Show file tree
Hide file tree
Showing 97 changed files with 6,759 additions and 5,392 deletions.
80 changes: 79 additions & 1 deletion .doc_gen/metadata/s3_metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,12 @@ s3_CreateBucket:
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
- description: Create a bucket.
snippet_tags:
- s3.java2.create_bucket_waiters.main
- description: Create a bucket with object lock enabled.
snippet_tags:
- S3LockWorkflow.javav2.CreateBucketWithLockOptions.main
JavaScript:
versions:
- sdk_version: 3
Expand Down Expand Up @@ -963,6 +966,15 @@ s3_GetObjectLegalHoldConfiguration:
synopsis: get the legal hold configuration of an S3 bucket.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.GetObjectLegalHold.main
.NET:
versions:
- sdk_version: 3
Expand All @@ -980,6 +992,15 @@ s3_GetObjectLockConfiguration:
synopsis: get the object lock configuration of an S3 bucket.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.GetBucketObjectLockConfiguration.main
.NET:
versions:
- sdk_version: 3
Expand All @@ -997,6 +1018,15 @@ s3_GetObjectRetention:
synopsis: get the retention configuration of an S3 object.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.GetObjectRetention.main
.NET:
versions:
- sdk_version: 3
Expand Down Expand Up @@ -2148,6 +2178,15 @@ s3_PutObjectLegalHold:
synopsis: set the legal hold configuration of an S3 object.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.ModifyObjectLegalHold.main
.NET:
versions:
- sdk_version: 3
Expand All @@ -2165,6 +2204,15 @@ s3_PutObjectLockConfiguration:
synopsis: set the object lock configuration of an existing S3 bucket.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.EnableObjectLockOnBucket.main
.NET:
versions:
- sdk_version: 3
Expand All @@ -2182,6 +2230,15 @@ s3_PutObjectRetention:
synopsis: set the retention period of an S3 object.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.ModifyObjectRetentionPeriod.main
.NET:
versions:
- sdk_version: 3
Expand All @@ -2199,6 +2256,15 @@ s3_PutDefaultObjectLockConfiguration:
synopsis: set the default retention period of an S3 bucket.
category:
languages:
Java:
versions:
- sdk_version: 2
github: javav2/example_code/s3
sdkguide:
excerpts:
- description:
snippet_tags:
- S3LockWorkflow.javav2.ModifyBucketDefaultRetention.main
.NET:
versions:
- sdk_version: 3
Expand Down Expand Up @@ -3059,6 +3125,18 @@ s3_Scenario_ObjectLock:
synopsis: work with S3 object lock features.
category: Scenarios
languages:
Java:
versions:
- sdk_version: 2
github: java/usecases/s3_object_lock_scenario
sdkguide:
excerpts:
- description: Run an interactive scenario demonstrating &S3; object lock features.
snippet_tags:
- S3LockWorkflow.javav2.ObjectLockWorkflow.main
- description: A wrapper class for S3 functions.
snippet_tags:
- S3LockWorkflow.javav2.S3ActionsWrapper.main
.NET:
versions:
- sdk_version: 3
Expand Down
86 changes: 53 additions & 33 deletions javav2/example_code/s3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,54 +31,62 @@ For prerequisites, see the [README](../../README.md#Prerequisites) in the `javav

### Get started

- [Hello Amazon S3](src/main/java/com/example/s3/HelloS3.java#L6) (`ListBuckets`)
- [Hello Amazon S3](s3/src/main/java/com/example/s3/HelloS3.java#L6) (`ListBuckets`)


### Single actions

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

- [Add CORS rules to a bucket](src/main/java/com/example/s3/S3Cors.java#L6) (`PutBucketCors`)
- [Add a lifecycle configuration to a bucket](src/main/java/com/example/s3/LifecycleConfiguration.java#L6) (`PutBucketLifecycleConfiguration`)
- [Add a policy to a bucket](src/main/java/com/example/s3/SetBucketPolicy.java#L6) (`PutBucketPolicy`)
- [Copy an object from one bucket to another](src/main/java/com/example/s3/CopyObject.java#L6) (`CopyObject`)
- [Create a bucket](src/main/java/com/example/s3/CreateBucket.java#L6) (`CreateBucket`)
- [Delete a policy from a bucket](src/main/java/com/example/s3/DeleteBucketPolicy.java#L6) (`DeleteBucketPolicy`)
- [Delete an empty bucket](src/main/java/com/example/s3/S3BucketOps.java#L79) (`DeleteBucket`)
- [Delete multiple objects](src/main/java/com/example/s3/DeleteMultiObjects.java#L6) (`DeleteObjects`)
- [Delete the website configuration from a bucket](src/main/java/com/example/s3/DeleteWebsiteConfiguration.java#L6) (`DeleteBucketWebsite`)
- [Determine the existence and content type of an object](src/main/java/com/example/s3/GetObjectContentType.java#L6) (`HeadObject`)
- [Download objects to a local directory](src/main/java/com/example/s3/transfermanager/DownloadToDirectory.java#L6) (`DownloadDirectory`)
- [Enable notifications](src/main/java/com/example/s3/SetBucketEventBridgeNotification.java#L6) (`PutBucketNotificationConfiguration`)
- [Get an object from a bucket](src/main/java/com/example/s3/GetObjectData.java#L6) (`GetObject`)
- [Get the ACL of a bucket](src/main/java/com/example/s3/GetAcl.java#L6) (`GetBucketAcl`)
- [Get the policy for a bucket](src/main/java/com/example/s3/GetBucketPolicy.java#L6) (`GetBucketPolicy`)
- [List buckets](src/main/java/com/example/s3/ListBuckets.java#L6) (`ListBuckets`)
- [List in-progress multipart uploads](src/main/java/com/example/s3/ListMultipartUploads.java#L6) (`ListMultipartUploads`)
- [List objects in a bucket](src/main/java/com/example/s3/ListObjects.java#L6) (`ListObjectsV2`)
- [Restore an archived copy of an object](src/main/java/com/example/s3/RestoreObject.java#L6) (`RestoreObject`)
- [Set a new ACL for a bucket](src/main/java/com/example/s3/SetAcl.java#L6) (`PutBucketAcl`)
- [Set the website configuration for a bucket](src/main/java/com/example/s3/SetWebsiteConfiguration.java#L6) (`PutBucketWebsite`)
- [Upload an object to a bucket](src/main/java/com/example/s3/PutObject.java#L6) (`PutObject`)
- [Upload directory to a bucket](src/main/java/com/example/s3/transfermanager/UploadADirectory.java#L6) (`UploadDirectory`)
- [Use SQL with Amazon S3 Select](src/main/java/com/example/s3/async/SelectObjectContentExample.java#L5) (`SelectObjectContent`)
- [Add CORS rules to a bucket](s3/src/main/java/com/example/s3/S3Cors.java#L6) (`PutBucketCors`)
- [Add a lifecycle configuration to a bucket](s3/src/main/java/com/example/s3/LifecycleConfiguration.java#L6) (`PutBucketLifecycleConfiguration`)
- [Add a policy to a bucket](s3/src/main/java/com/example/s3/SetBucketPolicy.java#L6) (`PutBucketPolicy`)
- [Copy an object from one bucket to another](s3/src/main/java/com/example/s3/CopyObject.java#L6) (`CopyObject`)
- [Create a bucket](s3/src/main/java/com/example/s3/CreateBucket.java#L6) (`CreateBucket`)
- [Delete a policy from a bucket](s3/src/main/java/com/example/s3/DeleteBucketPolicy.java#L6) (`DeleteBucketPolicy`)
- [Delete an empty bucket](s3/src/main/java/com/example/s3/S3BucketOps.java#L79) (`DeleteBucket`)
- [Delete multiple objects](s3/src/main/java/com/example/s3/DeleteMultiObjects.java#L6) (`DeleteObjects`)
- [Delete the website configuration from a bucket](s3/src/main/java/com/example/s3/DeleteWebsiteConfiguration.java#L6) (`DeleteBucketWebsite`)
- [Determine the existence and content type of an object](s3/src/main/java/com/example/s3/GetObjectContentType.java#L6) (`HeadObject`)
- [Download objects to a local directory](s3/src/main/java/com/example/s3/transfermanager/DownloadToDirectory.java#L6) (`DownloadDirectory`)
- [Enable notifications](s3/src/main/java/com/example/s3/SetBucketEventBridgeNotification.java#L6) (`PutBucketNotificationConfiguration`)
- [Get an object from a bucket](s3/src/main/java/com/example/s3/GetObjectData.java#L6) (`GetObject`)
- [Get the ACL of a bucket](s3/src/main/java/com/example/s3/GetAcl.java#L6) (`GetBucketAcl`)
- [Get the legal hold configuration of an object](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L94) (`GetObjectLegalHold`)
- [Get the object lock configuration of a bucket](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L345) (`GetObjectLockConfiguration`)
- [Get the policy for a bucket](s3/src/main/java/com/example/s3/GetBucketPolicy.java#L6) (`GetBucketPolicy`)
- [Get the retention configuration of an object](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L309) (`GetObjectRetention`)
- [List buckets](s3/src/main/java/com/example/s3/ListBuckets.java#L6) (`ListBuckets`)
- [List in-progress multipart uploads](s3/src/main/java/com/example/s3/ListMultipartUploads.java#L6) (`ListMultipartUploads`)
- [List objects in a bucket](s3/src/main/java/com/example/s3/ListObjects.java#L6) (`ListObjectsV2`)
- [Restore an archived copy of an object](s3/src/main/java/com/example/s3/RestoreObject.java#L6) (`RestoreObject`)
- [Set a new ACL for a bucket](s3/src/main/java/com/example/s3/SetAcl.java#L6) (`PutBucketAcl`)
- [Set the default retention period of a bucket](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L168) (`PutObjectLockConfiguration`)
- [Set the legal hold configuration of an object](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L255) (`PutObjectLegalHold`)
- [Set the object lock configuration of an bucket](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L206) (`PutObjectLockConfiguration`)
- [Set the retention period of an object](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3LockActions.java#L61) (`PutObjectRetention`)
- [Set the website configuration for a bucket](s3/src/main/java/com/example/s3/SetWebsiteConfiguration.java#L6) (`PutBucketWebsite`)
- [Upload an object to a bucket](s3/src/main/java/com/example/s3/PutObject.java#L6) (`PutObject`)
- [Upload directory to a bucket](s3/src/main/java/com/example/s3/transfermanager/UploadADirectory.java#L6) (`UploadDirectory`)
- [Use SQL with Amazon S3 Select](s3/src/main/java/com/example/s3/async/SelectObjectContentExample.java#L5) (`SelectObjectContent`)

### Scenarios

Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.

- [Get started with buckets and objects](src/main/java/com/example/s3/S3Scenario.java)
- [Parse URIs](src/main/java/com/example/s3/ParseUri.java)
- [Perform a multipart upload](src/main/java/com/example/s3/PerformMultiPartUpload.java)
- [Upload or download large files](src/main/java/com/example/s3/transfermanager/DownloadToDirectory.java)
- [Upload stream of unknown size](src/main/java/com/example/s3/async/PutObjectFromStreamAsync.java)
- [Use checksums](src/main/java/com/example/s3/BasicOpsWithChecksums.java)
- [Get started with buckets and objects](s3/src/main/java/com/example/s3/S3Scenario.java)
- [Lock Amazon S3 objects](scenarios/s3_object_lock_scenario/src/main/java/com/example/s3/scenario/S3ObjectLockWorkflow.java)
- [Parse URIs](s3/src/main/java/com/example/s3/ParseUri.java)
- [Perform a multipart upload](s3/src/main/java/com/example/s3/PerformMultiPartUpload.java)
- [Upload or download large files](s3/src/main/java/com/example/s3/transfermanager/DownloadToDirectory.java)
- [Upload stream of unknown size](s3/src/main/java/com/example/s3/async/PutObjectFromStreamAsync.java)
- [Use checksums](s3/src/main/java/com/example/s3/BasicOpsWithChecksums.java)


<!--custom.examples.start-->
- [Create a presigned URL for download](src/main/java/com/example/s3/GeneratePresignedGetUrlAndRetrieve.java)
- [Create a presigned URL for upload](src/main/java/com/example/s3/GeneratePresignedUrlAndPutFileWithMetadata.java)
- [Create a presigned URL for download](s3/src/main/java/com/example/s3/GeneratePresignedGetUrlAndRetrieve.java)
- [Create a presigned URL for upload](s3/src/main/java/com/example/s3/GeneratePresignedUrlAndPutFileWithMetadata.java)
<!--custom.examples.end-->

## Run the examples
Expand Down Expand Up @@ -112,6 +120,18 @@ This example shows you how to do the following:
<!--custom.scenarios.s3_Scenario_GettingStarted.start-->
<!--custom.scenarios.s3_Scenario_GettingStarted.end-->

#### Lock Amazon S3 objects

This example shows you how to work with S3 object lock features.


<!--custom.scenario_prereqs.s3_Scenario_ObjectLock.start-->
<!--custom.scenario_prereqs.s3_Scenario_ObjectLock.end-->


<!--custom.scenarios.s3_Scenario_ObjectLock.start-->
<!--custom.scenarios.s3_Scenario_ObjectLock.end-->

#### Parse URIs

This example shows you how to parse Amazon S3 URIs to extract important components like the bucket name and object key.
Expand Down
File renamed without changes.
Loading

0 comments on commit d1d2106

Please sign in to comment.