Design: New Feature, Status: In Development
This project provides a much improved experience for S3 customers needing to easily perform uploads and downloads of objects to and from S3 by providing the S3 S3TransferManager
, a high level library built on the S3 client.
Ability to use the blocking, synchronous client.
Using a blocking client would severely impede the ability to deliver on goals #2 and #3.
S3TransferManager supports progress listeners that are easier to use.
Ref: https://github.com/aws/aws-sdk-java-v2/issues/37#issuecomment-316218667
S3TransferManager provides bandwidth limiting of uploads and downloads.
The size of resources used by Transfermanager and configured by the user should not affect its stability.
For example, the configured size of a threadpool should be irrelevant to its ability to successfully perform an operation.
S3TransferManager supports parallel downloads of any object.
Any object stored in S3 should be downloadable in multiple parts simultaneously, not just those uploaded using the Multipart API.
S3TransferManager has the ability to upload to and download from a pre-signed URL.
S3TransferManager allows uploads and downloads from and to memory.
Ability to easily use canned ACL policies with all transfers to S3.
Trailing checksums for parallel uploads and downloads.