即使我使用的是高级多部分,我仍然在控制台中收到警告:
WARN - com.amazonaws.services.s3.AmazonS3Client - No content length specified for stream data. Stream contents will be buffered in memory and could result in out of memory errors.
这就是我使用高级分段上传的方式,就像这里一样:https ://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-upload-object.html
val tm: TransferManager = TransferManagerBuilder
.standard()
.withS3Client(s3Client)
.withMultipartUploadThreshold(5248000)
.build();
val metadata = new ObjectMetadata()
metadata.setContentType(mimeType)
val request = new PutObjectRequest(bucketName, key, inputStream, metadata)
val upload = tm.upload(request)
upload.waitForCompletion()
5248000 是 5MB,我尝试上传比这大得多的文件,因此它应该使用多部分策略,如withMultipartUploadThreshold
文档中所述:
设置何时使用分段上传的大小阈值(以字节为单位)。超过此大小的上传将自动使用分段上传策略,而小于此阈值的上传将使用单个连接上传整个对象。
为什么它仍然给出这个警告?