本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon S3
本节提供使用使用 Amazon S3 的背景信息 AWS SDK for Java 2.x。本节补充了本指南的代码示例部分中介绍的 Amazon S3 Java v2 示例。
中的 S3 客户端 AWS SDK for Java 2.x
AWS SDK for Java 2.x 提供了不同类型的 S3 客户端。下表显示了差异,可以帮助您确定哪种方法最适合您的用例。
S3 客户端 | 简短描述 | 何时使用 | 限制/缺点 |
---|---|---|---|
AWS CRT基于 S3 客户端 |
|
|
|
启用了多部分功能的基于 Java 的 S3 异步客户端 |
|
|
性能低于 AWS CRT基于的 S3 客户端。 |
未启用多部分功能的基于 Java 的 S3 异步客户端 |
|
|
没有性能优化。 |
基于 Java 的 S3 同步客户端 接口:S3Client 生成器:S3 ClientBuilder |
|
|
没有性能优化。 |
注意
从版本 2.18.x 及更高版本开始,在包含终端 AWS SDK for Java 2.x 节点覆盖时使用虚拟托管式寻址。只要存储桶名称是有效的DNS标签,这就适用。
在客户端生成器中使用 true
调用 forcePathStyle
以下示例显示了配置了端点覆盖并使用路径式寻址的服务客户端。
S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();