我正在尝试将整个文件夹上传到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"));
答案 0 :(得分:1)
无法将文件夹直接上传到s3。仅先存档并逐文件上传。
或使用CLI https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
答案 1 :(得分:1)
Java SDK中的TransferManager API提供了从upload a directory到S3的方法。