Closed
Description
Describe the feature
Using the V1 SDK:
TransferManager tm = TransferManagerBuilder.standard()...build();
Then it was possible to:
ObjectListing objectListing = tm.getAmazonS3Client().listObjects(...);
etc.
Using V2, one would naturally think of:
S3TransferManager tm = S3TransferManager.builder()...build();
S3AsyncClient client = tm.getS3AsyncClient();
CompletableFuture<ListObjectsV2Response> future = client.listObjectsV2(r -> r.bucket("foo"));
etc.
But it does not appear to be possible to get the client from the transfer manager. Can this capability be added?
Is your Feature Request related to a problem?
Without this capability, one needs to separately use an S3AsyncClient
instance. Since the DefaultS3TransferManager
already has the s3CrtAsyncClient
field, providing a getter for that would help.
Proposed Solution
Add method getS3AsyncClient
to either S3TransferManager
interface or DefaultS3TransferManager
class (requires downcast...)
Describe alternatives you've considered
Create and use a separate S3AsyncClient
instance.
Acknowledge
- I may be able to implement this feature request
AWS Java SDK version used
s3-transfer-manager 2.17.96-PREVIEW
JDK version used
1.8
Operating System and version
Centos 7