Я пытаюсь загрузить файл на AWS S3 с помощью API Java-AWS. Проблема в том, что мое приложение не может загружать файлы большого размера, потому что куча достигает своего предела.
Ошибка: java.lang.OutOfMemoryError: пространство кучи Java
Я лично считаю, что расширение памяти кучи не является постоянным решением, потому что мне нужно загрузить файл до 100 ГБ. Что мне делать?
Вот фрагмент кода:
BasicAWSCredentials awsCreds = new BasicAWSCredentials(AID, Akey);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(Regions.fromName("us-east-2"))
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.build();
InputStream Is=file.getInputStream();
boolean buckflag = s3Client.doesBucketExist(ABuck);
if(buckflag != true){
s3Client.createBucket(ABuck);
}
s3Client.putObject(new PutObjectRequest(ABuck, AFkey,file.getInputStream(),new ObjectMetadata() ).withCannedAcl(CannedAccessControlList.PublicRead));