我正在尝试从Spring Boot应用程序中的外部链接下载一个大文件,并将Feign Client使用相同并上传流到S3,但是我不确定Feign Client下载是否在存储器中,然后将文件上传到S3中。
贝洛是代码:
fefign客户端:
Response downloadFile(URI uri);
aws s3上传
var putObjectRequest = PutObjectRequest.builder()
.bucket(awsConfig.getBucketName())
.key(objectKey.toString())
.contentLength(fileData.getContentLength())
.build();
var requestBody = RequestBody.fromInputStream(response.body().asInputStream(), response.headers().get(HttpHeaders.CONTENT_LENGTH));
s3Client.putObject(putObjectRequest, requestBody);
该应用不会随着OOM的崩溃而崩溃
-Xms256m -Xmx256m
如果众所周知的API允许在内存中下载整个资源时,则可以将其作为输入流进行处理,这将是很奇怪的。
当然,这仍然是可能的,因此测试应该使您确定。