Using S3 SDK
Common usecase (Programming language: Java & Library: AWS SDK)
Create a container
s3Client.createBucket(<CONTAINER-NAME>);
List all of objects
ObjectListing objectListing = s3Client.listObjects(<CONTAINER-NAME>); for (S3ObjectSummary os : objectListing.getObjectSummaries()) { System.out.println(os.getKey()); }
Upload an object into a container
s3Client.putObject(<CONTAINER-NAME>, <KEY-NAME>, new File(<PATH-TO-LOCAL-FILE>));
Delete an object
s3Client.deleteObject(<CONTAINER-NAME>, <KEY-NAME>);
Delete a container
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(container).withKeys(objkeyArr); s3Client.deleteObjects(delObjReq); }
s3Client.deleteBucket(container);
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>);
\
Advanced usecase
Make container public
s3Client.setBucketAcl(<CONTAINER-NAME>, CannedAccessControlList.PublicRead);
Make container private
s3Client.setBucketAcl(<CONTAINER-NAME>, CannedAccessControlList.Private);
Last updated