Class S3Instructions

java.lang.Object
io.deephaven.extensions.s3.S3Instructions

@Immutable public abstract class S3Instructions extends Object
This class provides instructions intended for reading from and writing to S3-compatible APIs. The default values documented in this class may change in the future. As such, callers may wish to explicitly set the values.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    The amount of time to wait when initially establishing a connection before giving up and timing out, defaults to 2 seconds.
    The credentials to use when reading or writing to S3.
    abstract Optional<URI>
    The endpoint to connect to.
    int
    The maximum byte size of each fragment to read from S3, defaults to the value of config parameter "S3.maxFragmentSize", or 5 MiB if unset.
    int
    The maximum number of fragments to cache in memory, defaults to Math.max(1 + readAheadCount(), DEFAULT_MAX_CACHE_SIZE), which is at least 32.
    int
    The maximum number of concurrent requests to make to S3, defaults to 50.
    int
    The number of fragments to send asynchronous read requests for while reading the current fragment.
    The amount of time to wait when reading a fragment before giving up and timing out, defaults to 2 seconds.
    abstract String
    The region name to use when reading or writing to S3.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • S3Instructions

      public S3Instructions()
  • Method Details

    • builder

      public static S3Instructions.Builder builder()
    • regionName

      public abstract String regionName()
      The region name to use when reading or writing to S3.
    • maxConcurrentRequests

      @Default public int maxConcurrentRequests()
      The maximum number of concurrent requests to make to S3, defaults to 50.
    • readAheadCount

      @Default public int readAheadCount()
      The number of fragments to send asynchronous read requests for while reading the current fragment. Defaults to 1, which means by default, we will fetch 1 fragments in advance when reading current fragment.
    • fragmentSize

      @Default public int fragmentSize()
      The maximum byte size of each fragment to read from S3, defaults to the value of config parameter "S3.maxFragmentSize", or 5 MiB if unset. Must be between 8 KiB and the value of config parameter "S3.maxFragmentSize". If there are fewer bytes remaining in the file, the fetched fragment can be smaller.
    • maxCacheSize

      @Default public int maxCacheSize()
      The maximum number of fragments to cache in memory, defaults to Math.max(1 + readAheadCount(), DEFAULT_MAX_CACHE_SIZE), which is at least 32. This caching is done at the deephaven layer for faster access to recently read fragments. Must be greater than or equal to 1 + readAheadCount().
    • connectionTimeout

      @Default public Duration connectionTimeout()
      The amount of time to wait when initially establishing a connection before giving up and timing out, defaults to 2 seconds.
    • readTimeout

      @Default public Duration readTimeout()
      The amount of time to wait when reading a fragment before giving up and timing out, defaults to 2 seconds. The implementation may choose to internally retry the request multiple times, so long as the total time does not exceed this timeout.
    • credentials

      @Default public Credentials credentials()
      The credentials to use when reading or writing to S3. By default, uses Credentials.defaultCredentials().
    • endpointOverride

      public abstract Optional<URI> endpointOverride()
      The endpoint to connect to. Callers connecting to AWS do not typically need to set this; it is most useful when connecting to non-AWS, S3-compatible APIs.
      See Also: