适用于 Java 的 Amazon SDK 1.x 于 2025 年 12 月 31 end-of-support 日达到。我们建议您迁移到 Amazon SDK for Java 2.x 以继续获得新功能、可用性改进和安全更新。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon 开发的最佳实践 适用于 Java 的 Amazon SDK
以下最佳做法可以帮助您在使用开发 Amazon 应用程序时避免出现问题或麻烦 适用于 Java 的 Amazon SDK。这些最佳实践已按服务分类整理。
S3
避免 ResetExceptions
当您使用流(通过AmazonS3客户端或TransferManager)将对象上传到 Amazon S3 时,可能会遇到网络连接或超时问题。默认情况下,
适用于 Java 的 Amazon SDK 尝试重试传输失败的方法是在传输开始之前标记输入流,然后在重试之前对其进行重置。
如果直播不支持标记和重置,则当出现暂时性故障并启用重试ResetException时,SDK 会抛出。
最佳实践
建议您使用支持标记和重置操作的流。
避免 a 的最可靠方法ResetException是使用文件
如果直播不是,FileInputStreamsetReadLimit方法设置标记限制RequestClientOptions。其默认值为 128KB。将读取限制值设置为比流大小大一个字节将可靠地避免 ResetException.
例如,如果流的最大预期大小为 100000 字节,则将读取限制设置为 100001 (100000 + 1) 字节。标记和重置操作将始终适用于 100000 字节或更少的字节。请注意,这可能会导致一些流将该数量的字节缓冲到内存中。