使用 java aws sdk 将文件夹上传到 S3 存储桶

Upload a folder to an S3 bucket using java aws sdk

我正在尝试将整个文件夹上传到 AWS S3 存储桶。我成功上传了单个文件,但找不到上传整个文件夹的方法。 AWS CLI 有一个名为 sync 的选项,Java SDK 中是否提供和等效方法?

上传单个对象的示例代码如下(仅部分)

final PutObjectRequest dashboardUploadRequest = PutObjectRequest.builder()
                        .bucket(aws.getApplihealthReportBucket())
                        .key(projectName + "/"+ executionConfig.getTestType() +"/" + aws.getS3Folder() + "/index.html").build();

S3Client s3 = S3Client.builder().credentialsProvider(credentialsProvider).build()
s3.putObject(dashboardUploadRequest, Paths.get(resultsDirectory + "/extent.html"));

无法将文件夹直接上传到 s3。仅按文件搜索和上传文件。

或使用 CLI https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

TransferManager API in Java SDK provides methods to upload a directory到S3.