Skip to content

Add s3-transfer-manager to aws-sdk-java module #3666

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jan 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changes/next-release/feature-AWSSDKforJavav2-c6cae5a.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"type": "feature",
"category": "AWS SDK for Java v2",
"contributor": "",
"description": "Add `s3-transfer-manager` in `aws-sdk-java` module so that it's included in `bundle`."
}
5 changes: 5 additions & 0 deletions aws-sdk-java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -728,6 +728,11 @@ Amazon AutoScaling, etc).</description>
<artifactId>s3control</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3-transfer-manager</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sagemaker</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,25 +70,30 @@ public interface S3CrtAsyncClientBuilder extends SdkBuilder<S3CrtAsyncClientBuil
S3CrtAsyncClientBuilder region(Region region);

/**
* Sets the minimum part size for transfer parts. Decreasing the minimum part size causes
* multipart transfer to be split into a larger number of smaller parts. Setting this value too low
* has a negative effect on transfer speeds, causing extra latency and network communication for each part.
* Sets the minimum part size for transfer parts. Decreasing the minimum part size causes multipart transfer to be split into
* a larger number of smaller parts. Setting this value too low has a negative effect on transfer speeds, causing extra
* latency and network communication for each part.
*
* <p>
* By default, it is 8MB
* By default, it is 8MB. See <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html">Amazon S3 multipart
* upload limits</a> for guidance.
*
* @param uploadPartSize The minimum part size for transfer parts.
* @return this builder for method chaining.
*/
S3CrtAsyncClientBuilder minimumPartSizeInBytes(Long uploadPartSize);

/**
* The target throughput for transfer requests. Higher value means more S3 connections
* will be opened. Whether the transfer manager can achieve the configured target throughput depends
* on various factors such as the network bandwidth of the environment and the configured {@link #maxConcurrency}.
* The target throughput for transfer requests. Higher value means more connections will be established with S3.
*
* <p>
* By default, it is 10 Gbps
* Whether the transfer manager can achieve the configured target throughput depends on various factors such as the network
* bandwidth of the environment and the configured {@link #maxConcurrency}.
*
* <p>
* By default, it is 10 Gbps. 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 <a href="https://aws.amazon.com/ec2/instance-types/">Amazon EC2 instance type page</a>.
*
* @param targetThroughputInGbps the target throughput in Gbps
* @return this builder for method chaining.
Expand Down