Class MultipartConfiguration

java.lang.Object
software.amazon.awssdk.services.s3.multipart.MultipartConfiguration
All Implemented Interfaces:
ToCopyableBuilder<MultipartConfiguration.Builder,MultipartConfiguration>

public final class MultipartConfiguration extends Object implements ToCopyableBuilder<MultipartConfiguration.Builder,MultipartConfiguration>
Class that holds configuration properties related to multipart operations for a S3AsyncClient. Passing this class to the S3AsyncClientBuilder.multipartConfiguration(MultipartConfiguration) will enable automatic conversion of the following operations to their respective multipart variants:

Note that multipart download fetches individual parts of the object using PartNumber. This means the S3 client will only download multiple parts if the object itself was uploaded as a multipart object

When performing multipart download, retry is only supported when using an AsyncResponseTransformer implementation that downloads the object into memory such, as AsyncResponseTransformer.toBytes()

  • Method Details

    • builder

      public static MultipartConfiguration.Builder builder()
    • toBuilder

      public MultipartConfiguration.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<MultipartConfiguration.Builder,MultipartConfiguration>
      Returns:
      a builder for type T
    • thresholdInBytes

      public Long thresholdInBytes()
      Indicates the value of the configured threshold, in bytes. Any request whose size is less than the configured value will not use multipart operation
      Returns:
      the value of the configured threshold.
    • minimumPartSizeInBytes

      public Long minimumPartSizeInBytes()
      Indicated the size, in bytes, of each individual part of the part requests. The actual part size used might be bigger to conforms to the maximum number of parts allowed per multipart requests.
      Returns:
      the value of the configured part size.
    • apiCallBufferSizeInBytes

      public Long apiCallBufferSizeInBytes()
      The maximum memory, in bytes, that the SDK will use to buffer requests content into memory.

      This setting does not apply if you are using an AsyncResponseTransformer implementation that downloads the object into memory such as AsyncResponseTransformer.toBytes()

      Returns:
      the value of the configured maximum memory usage.