AWS S3 SDK - 如何设置线程池大小?

AWS S3 SDK - how do I set thread pool size?

我正在尝试为 S3 分段上传设置线程池大小以控制并行上传的数量。

根据此 AWS 博客页面 - https://aws.amazon.com/blogs/developer/parallelizing-large-uploads-for-speed-and-reliability/ 我需要将 Executors.newFixedThreadPool(n) 传递给 TransferManager,但我找不到对 TransferManagerBuilder 执行相同操作的方法。

我们有 TransferManagerBuilder.standard().withExecutorFactory() 接受 ExecutyorFactory 但它没有实现。

如何使用 TransferManagerBuilder 指定线程池大小?

JavaDoc and GitHub 表明有一种方法 TransferManagerBuilder#withExecutorFactory 采用 ExecutorFactory,并在构建器上设置它的实现。

确保您在构建器上调用了 build 方法,这应该 return 您是 TransferManager.

的一个实例
final TransferManager tm = TransferManagerBuilder
        .standard()
        .withExecutorFactory(() -> Executors.newFixedThreadPool(numThreads))
        .build();