Skip to content

S3TransferManager getS3AsyncClient #2949

Closed
@aceeric

Description

@aceeric

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions