Using S3 SDK

Some common use cases (examples for languages: Java & AWS SDK library)

Create a new bucket

s3Client.createBucket(<CONTAINER-NAME>);

Get a list of all objects in a bucket

ObjectListing objectListing = s3Client.listObjects(<CONTAINER-NAME>); for (S3ObjectSummary os : objectListing.getObjectSummaries()) { System.out.println(os.getKey()); }

Upload files to a bucket

s3Client.putObject(<CONTAINER-NAME>, <KEY-NAME>, new File(<PATH-TO-LOCAL-FILE>));

Delete an object in a bucket

s3Client.deleteObject(<CONTAINER-NAME>, <KEY-NAME>);

Delete a bucket

ObjectListing objectListing = s3Client.listObjects(<CONTAINER-NAME>);

if (CollectionUtils.isNotEmpty(objectListing.getObjectSummaries())) { String[] objkeyArr = objectListing.getObjectSummaries().stream().map(S3ObjectSummary::getKey) .toArray(String[]::new); DeleteObjectsRequest delObjReq = new DeleteObjectsRequest(bucket).withKeys(objkeyArr); s3Client.deleteObjects(delObjReq); }

s3Client.deleteBucket(bucket);

Move an object

s3Client.copyObject(<SOURCE-CONTAINER-NAME>, <SOURCE-KEY-NAME>, <DEST-CONTAINER-NAME>, <DEST-KEY-NAME>); s3Client.deleteObject(<SOURCE-CONTAINER-NAME>, <SOURCE-KEY-NAME>);


Some advanced use cases

Switch bucket public mode

s3Client.setBucketAcl(<CONTAINER-NAME>, CannedAccessControlList.PublicRead);

Switch bucket privacy mode

s3Client.setBucketAcl(<CONTAINER-NAME>, CannedAccessControlList.Private);

Notes on using S3 SDK

Last updated