将基于 Java 的 S3 异步客户端配置为使用并行传输 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将基于 Java 的 S3 异步客户端配置为使用并行传输

从版本 2.27.5 开始,基于 Java 的标准 S3 异步客户端支持自动并行传输(分段上传和下载)。在创建基于 Java 的 S3 异步客户端时,您可以配置对并行传输的支持。

本节介绍如何启用并行传输以及如何自定义配置。

创建的实例 S3AsyncClient

当您在不调用生成器上的任何multipart*方法的情况下创建S3AsyncClient实例时,不会启用并行传输。以下每条语句都创建了一个基于 Java 的 S3 异步客户端,不支持分段上传和下载。

不支持多部分的情况下创作

import software.amazon.awssdk.auth.credentials.ProcessCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3AsyncClient; S3AsyncClient s3Client = S3AsyncClient.create(); S3AsyncClient s3Client2 = S3AsyncClient.builder().build(); S3AsyncClient s3Client3 = S3AsyncClient.builder() .credentialsProvider(ProcessCredentialsProvider.builder().build()) .region(Region.EU_NORTH_1) .build();

使用多部分支持进行创作

要使用默认设置启用并行传输,请在生成器multipartEnabled上调用并传true入,如以下示例所示。

S3AsyncClient s3AsyncClient2 = S3AsyncClient.builder() .multipartEnabled(true) .build();

和设置的默认值为 8 MiB thresholdInBytesminimumPartSizeInBytes

如果您自定义 multipart 设置,则会自动启用并行传输,如下所示。

import software.amazon.awssdk.services.s3.S3AsyncClient; import static software.amazon.awssdk.transfer.s3.SizeConstant.MB; S3AsyncClient s3AsyncClient2 = S3AsyncClient.builder() .multipartConfiguration(b -> b .thresholdInBytes(16 * MB) .minimumPartSizeInBytes(10 * MB)) .build();