Interface S3TransferManager

  • All Superinterfaces:
    AutoCloseable, SdkAutoCloseable

    @ThreadSafe
    public interface S3TransferManager
    extends SdkAutoCloseable
    The S3 Transfer Manager offers a simple API that allows you to transfer a single object or a set of objects to and from Amazon S3 with enhanced throughput and reliability. It leverages Amazon S3 multipart upload and byte-range fetches to perform transfers in parallel. In addition, the S3 Transfer Manager also enables you to monitor a transfer's progress in real-time, as well as pause the transfer for execution at a later time.

    Instantiate the S3 Transfer Manager

    Create a transfer manager instance with SDK default settings. Note that it's recommended to add software.amazon.awssdk.crt:aws-crt dependency so that automatic multipart feature can be enabled Create an S3 Transfer Manager instance with custom settings Create an S3 Transfer Manager with S3 Multipart Async Client. The S3 Multipart Async Client is an alternative to the CRT client that offers the same multipart upload/download feature.

    Common Usage Patterns

    Upload a file to S3 Download an S3 object to a local file Upload a local directory to an S3 bucket Download S3 objects to a local directory Copy an S3 object to a different location in S3 The automatic parallel transfer feature (multipart upload/download) is available through the AWS-CRT based S3 client S3AsyncClient.crtBuilder().build) and Java-based S3 multipart client S3AsyncClient.builder().multipartEnabled(true).build(). If no client is configured, AWS-CRT based S3 client will be used if AWS CRT is in the classpath, otherwise, Java-based S3 multipart client will be used.