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 |
crossRegionAccessEnabled(Boolean crossRegionAccessEnabled)
Configures whether cross-region bucket access is enabled for clients using the configuration.
|
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.
|
S3CrtAsyncClientBuilder |
thresholdInBytes(Long thresholdInBytes)
Configure the size threshold, in bytes, for when to use multipart upload.
|
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)
S3CrtAsyncClientBuilder crossRegionAccessEnabled(Boolean crossRegionAccessEnabled)
Configures whether cross-region bucket access is enabled for clients using the configuration.
The following behavior is used when this mode is enabled:
Enabling this mode has several drawbacks, as it can increase latency if the bucket's location is physically far from the location of the request.Therefore, it is strongly advised, whenever possible, to know the location of your buckets and create a region-specific client to access them
crossRegionAccessEnabled
- Whether cross region bucket access should be enabled.S3CrtAsyncClientBuilder thresholdInBytes(Long thresholdInBytes)
Multipart uploads are easier to recover from and also potentially faster than single part uploads, especially when the upload parts can be uploaded in parallel. Because there are additional network API calls, small objects are still recommended to use a single connection for the upload. See Uploading and copying objects using multipart upload.
By default, it is the same as minimumPartSizeInBytes(Long)
.
thresholdInBytes
- the value of the threshold to set.S3AsyncClient build()
build
in interface Buildable
build
in interface SdkBuilder<S3CrtAsyncClientBuilder,S3AsyncClient>
Copyright © 2023. All rights reserved.