public interface S3CrtAsyncClientBuilder extends SdkBuilder<S3CrtAsyncClientBuilder,S3AsyncClient>
Modifier and Type | Method and Description |
---|---|
S3CrtAsyncClientBuilder |
accelerate(Boolean accelerate)
Enables this client to use S3 Transfer Acceleration endpoints.
|
S3AsyncClient |
build() |
S3CrtAsyncClientBuilder |
checksumValidationEnabled(Boolean checksumValidationEnabled)
Option to disable checksum validation for
S3AsyncClient.getObject(GetObjectRequest, Path) and
S3AsyncClient.putObject(PutObjectRequest, Path) . |
S3CrtAsyncClientBuilder |
credentialsProvider(AwsCredentialsProvider credentialsProvider)
Configure the credentials that should be used to authenticate with S3.
|
S3CrtAsyncClientBuilder |
endpointOverride(URI endpointOverride)
Configure the endpoint override with which the SDK should communicate.
|
S3CrtAsyncClientBuilder |
forcePathStyle(Boolean forcePathStyle)
Forces this client to use path-style addressing for buckets.
|
default S3CrtAsyncClientBuilder |
httpConfiguration(Consumer<S3CrtHttpConfiguration.Builder> configurationBuilder)
A convenience method that creates an instance of the
S3CrtHttpConfiguration builder, avoiding the
need to create one manually via S3CrtHttpConfiguration.builder() . |
S3CrtAsyncClientBuilder |
httpConfiguration(S3CrtHttpConfiguration configuration)
Sets the HTTP configuration to use for this client.
|
S3CrtAsyncClientBuilder |
initialReadBufferSizeInBytes(Long initialReadBufferSizeInBytes)
Configure the starting buffer size the client will use to buffer the parts downloaded from S3.
|
S3CrtAsyncClientBuilder |
maxConcurrency(Integer maxConcurrency)
Specifies the maximum number of S3 connections that should be established during
a transfer.
|
S3CrtAsyncClientBuilder |
minimumPartSizeInBytes(Long uploadPartSize)
Sets the minimum part size for transfer parts.
|
S3CrtAsyncClientBuilder |
region(Region region)
Configure the region with which the SDK should communicate.
|
default S3CrtAsyncClientBuilder |
retryConfiguration(Consumer<S3CrtRetryConfiguration.Builder> retryConfigurationBuilder)
A convenience method that creates an instance of the
S3CrtRetryConfiguration builder, avoiding the
need to create one manually via S3CrtRetryConfiguration.builder() . |
S3CrtAsyncClientBuilder |
retryConfiguration(S3CrtRetryConfiguration retryConfiguration)
Sets the Retry configuration to use for this client.
|
S3CrtAsyncClientBuilder |
targetThroughputInGbps(Double targetThroughputInGbps)
The target throughput for transfer requests.
|
applyMutation
S3CrtAsyncClientBuilder credentialsProvider(AwsCredentialsProvider credentialsProvider)
The default provider will attempt to identify the credentials automatically using the following checks:
aws.accessKeyId
and aws.secretKey
AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
If the credentials are not found in any of the locations above, an exception will be thrown at build()
time.
credentialsProvider
- the credentials to useS3CrtAsyncClientBuilder region(Region region)
If this is not specified, the SDK will attempt to identify the endpoint automatically using the following logic:
region
- the region to be usedS3CrtAsyncClientBuilder minimumPartSizeInBytes(Long uploadPartSize)
By default, it is 8MB. See Amazon S3 multipart upload limits for guidance.
uploadPartSize
- The minimum part size for transfer parts.S3CrtAsyncClientBuilder targetThroughputInGbps(Double targetThroughputInGbps)
Whether the transfer manager can achieve the configured target throughput depends on various factors such as the network
bandwidth of the environment and whether maxConcurrency(java.lang.Integer)
is configured.
By default, it is 10 gigabits per second. If users want to transfer as fast as possible, it's recommended to set it to the
maximum network bandwidth on the host that the application is running on. For EC2 instances, you can find network
bandwidth for a specific
instance type in Amazon EC2 instance type page.
If you are running into out of file descriptors error, consider using maxConcurrency(Integer)
to limit the
number of connections.
targetThroughputInGbps
- the target throughput in GbpsmaxConcurrency(Integer)
S3CrtAsyncClientBuilder maxConcurrency(Integer maxConcurrency)
If not provided, the TransferManager will calculate the optional number of connections
based on targetThroughputInGbps(java.lang.Double)
. If the value is too low, the S3TransferManager
might not achieve the specified target throughput.
maxConcurrency
- the max number of concurrent requeststargetThroughputInGbps(Double)
S3CrtAsyncClientBuilder endpointOverride(URI endpointOverride)
endpointOverride
- the endpoint override to be usedS3CrtAsyncClientBuilder checksumValidationEnabled(Boolean checksumValidationEnabled)
S3AsyncClient.getObject(GetObjectRequest, Path)
and
S3AsyncClient.putObject(PutObjectRequest, Path)
.
Checksum validation using CRC32 is enabled by default.
S3CrtAsyncClientBuilder initialReadBufferSizeInBytes(Long initialReadBufferSizeInBytes)
By default, it is equal to the resolved part size * 10
initialReadBufferSizeInBytes
- the initial read buffer sizeS3CrtAsyncClientBuilder httpConfiguration(S3CrtHttpConfiguration configuration)
configuration
- The http proxy configuration to useS3CrtAsyncClientBuilder retryConfiguration(S3CrtRetryConfiguration retryConfiguration)
retryConfiguration
- The retry configurations to be used.default S3CrtAsyncClientBuilder httpConfiguration(Consumer<S3CrtHttpConfiguration.Builder> configurationBuilder)
S3CrtHttpConfiguration
builder, avoiding the
need to create one manually via S3CrtHttpConfiguration.builder()
.configurationBuilder
- The health checks config builder to usehttpConfiguration(S3CrtHttpConfiguration)
S3CrtAsyncClientBuilder accelerate(Boolean accelerate)
S3CrtAsyncClientBuilder forcePathStyle(Boolean forcePathStyle)
default S3CrtAsyncClientBuilder retryConfiguration(Consumer<S3CrtRetryConfiguration.Builder> retryConfigurationBuilder)
S3CrtRetryConfiguration
builder, avoiding the
need to create one manually via S3CrtRetryConfiguration.builder()
.retryConfigurationBuilder
- The retry config builder to useretryConfiguration(S3CrtRetryConfiguration)
S3AsyncClient build()
build
in interface Buildable
build
in interface SdkBuilder<S3CrtAsyncClientBuilder,S3AsyncClient>
Copyright © 2023. All rights reserved.