Class S3ClientOptions
- java.lang.Object
-
- software.amazon.awssdk.crt.s3.S3ClientOptions
-
public class S3ClientOptions extends Object
-
-
Constructor Summary
Constructors Constructor Description S3ClientOptions()
-
Method Summary
-
-
-
Method Detail
-
withRegion
public S3ClientOptions withRegion(String region)
-
getRegion
public String getRegion()
-
withClientBootstrap
public S3ClientOptions withClientBootstrap(ClientBootstrap clientBootstrap)
-
getClientBootstrap
public ClientBootstrap getClientBootstrap()
-
withCredentialsProvider
public S3ClientOptions withCredentialsProvider(CredentialsProvider credentialsProvider)
-
getCredentialsProvider
public CredentialsProvider getCredentialsProvider()
-
withPartSize
public S3ClientOptions withPartSize(long partSize)
-
getPartSize
public long getPartSize()
-
withThroughputTargetGbps
public S3ClientOptions withThroughputTargetGbps(double throughputTargetGbps)
-
getThroughputTargetGbps
public double getThroughputTargetGbps()
-
withReadBackpressureEnabled
public S3ClientOptions withReadBackpressureEnabled(boolean enable)
Set whether backpressure is enabled (false by default), to prevent response data downloading faster than you can handle it.If false, no backpressure is applied and data will download as fast as possible.
If true, each S3MetaRequest has a flow-control window that shrinks as response body data is downloaded (headers do not affect the window).
withInitialReadWindowSize(long)
determines the starting size of each S3MetaRequest's window, in bytes. Data stops downloading data whenever the window reaches zero. Increment the window to keep data flowing by callingS3MetaRequest.incrementReadWindow(long)
, or by returning a size fromS3MetaRequestResponseHandler.onResponseBody(java.nio.ByteBuffer, long, long)
. Maintain a larger window to keep up a high download throughput, parts cannot download in parallel unless the window is large enough to hold multiple parts. Maintain a smaller window to limit the amount of data buffered in memory.WARNING: This feature is experimental. Currently, backpressure is only applied to GetObject requests which are split into multiple parts, and you may still receive some data after the window reaches zero.
- Parameters:
enable
- whether to enable or disable backpressure- Returns:
- this
-
getReadBackpressureEnabled
public boolean getReadBackpressureEnabled()
-
withInitialReadWindowSize
public S3ClientOptions withInitialReadWindowSize(long bytes)
The starting size of each S3MetaRequest's flow-control window (if backpressure is enabled).- Parameters:
bytes
- size in bytes- Returns:
- this
- See Also:
withReadBackpressureEnabled(boolean)
-
getInitialReadWindowSize
public long getInitialReadWindowSize()
-
withEndpoint
public S3ClientOptions withEndpoint(String endpoint)
-
getEndpoint
public String getEndpoint()
-
withTlsContext
public S3ClientOptions withTlsContext(TlsContext tlsContext)
-
getTlsContext
public TlsContext getTlsContext()
-
withMaxConnections
public S3ClientOptions withMaxConnections(int maxConnections)
-
getMaxConnections
public int getMaxConnections()
-
withComputeContentMd5
public S3ClientOptions withComputeContentMd5(Boolean computeContentMd5)
-
getComputeContentMd5
public Boolean getComputeContentMd5()
-
withStandardRetryOptions
public S3ClientOptions withStandardRetryOptions(StandardRetryOptions standardRetryOptions)
-
getStandardRetryOptions
public StandardRetryOptions getStandardRetryOptions()
-
-