如何使用aws java sdk将文件从S3存储桶从一个区域复制到另一个区域?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用aws java sdk将文件从S3存储桶从一个区域复制到另一个区域?相关的知识,希望对你有一定的参考价值。

我们在AWS中有两个区域,每个区域中都有一个AWS S3存储桶。如何使用AWS Java SDK将存储桶中的文件从一个区域复制到另一个区域?

我们无权访问源区域存储桶的凭据,但是我们为源区域存储桶中的每个文件的源提供了一个预先签名的URL,我们可以使用该URL下载文件,然后使用AWS Upload URL进行上传到目标区域存储桶。

下载文件时存在空间限制,因此我们试图找到一种使用AWS Java SDK将文件从存储桶中的一个区域复制到另一区域的方法。这可以实现吗?

编辑:

为了更加清楚,两个存储桶都已创建,并且这是一个连续的过程,将被实现为我们的代码的一部分。这不是一次活动。

答案

[如果这是一次活动,则可以签出此link.,这比在计算机上下载每个文件然后再在其他存储桶中再次上传更简单,并且更不容易出错。

想法是将您的源存储桶同步到目标存储桶。

  1. 在目标区域中创建一个临时存储桶。
  2. 使用aws-cli命令将数据从源存储桶复制到目标存储桶。示例-aws s3 sync s3://mybucket s3://mybucket2
  3. 验证目标存储桶后,删除源存储桶。

以上是关于如何使用aws java sdk将文件从S3存储桶从一个区域复制到另一个区域?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用scala和aws-java-sdk从S3存储桶中获取所有S3ObjectSummary?

如何从 aws-sdk 中的 s3 存储桶创建 Elastic Beanstalk 实例?

如何强制删除 S3 存储桶中的所有对象版本,然后最终使用 aws-sdk-go 删除整个存储桶?

使用AWS SDK将文件上载到存储桶中的特定文件夹

如何将图像上传到 s3 存储桶

如何使用 aws-sdk 将文件同步上传到 S3?