如何将下载的 zip 文件从 S3 存储桶重定向到 EC2 实例而不是本地系统(使用 Java)

时间:2021-08-01 13:17:14

标签: amazon-s3 redirect amazon-ec2 copy downloadfile

当我从本地浏览器调用 API 时,我必须将 zip 文件从 S3 存储桶复制到 EC2。 API 在 EC2 实例中运行。现在我将 zip 文件下载到我的本地系统而不是 EC2,因为我从本地调用 API。如何将返回 ZIP 文件的 Java API 方法的输出重定向到 EC2 实例?

步骤 1:Java REST API 在 EC2 中运行 Step2:从本地浏览器调用API(传递文件名) 第三步:API 正在将 zip 文件从 S3 存储桶下载到本地。我想将此文件下载到 EC2 而不是运行应用程序的本地系统。 如何做到这一点?

我在 EC2 中运行的 Java 文件:

BasicAWSCredentials credentials = new BasicAWSCredentials(this.keyID, this.keySecret);
final AmazonS3 s3client = AmazonS3ClientBuilder
                        .standard()
                    .withCredentials(new AWSStaticCredentialsProvider(credentials))
                        .withRegion(Regions.AP_SOUTH_1)
                        .build();
S3Object object = s3client.getObject(this.bucketName,key);
return ResponseEntity.ok()
                  .contentType(MediaType.parseMediaType(object.getObjectMetadata()
                      .getContentType()))
             .header(Headers.CONTENT_DISPOSITION,"attachment;filename=\""+key+"\"")
                   .body(new ByteArrayResource(object.getObjectContent()
                       .readAllBytes()));

这里的返回输出是从它调用的地方返回到本地系统。但我希望将输出 zip 下载到运行 API 实例的 EC2。你能帮忙看看怎么做吗?

0 个答案:

没有答案