Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用aws java sdk将文件从S3 bucket从一个区域复制到另一个区域?_Java_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

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

如何使用aws java sdk将文件从S3 bucket从一个区域复制到另一个区域?,java,amazon-web-services,amazon-s3,aws-sdk,Java,Amazon Web Services,Amazon S3,Aws Sdk,我们在AWS中有两个区域,每个区域中都有一个AWS S3存储桶。如何使用AWS Java SDK将bucket中的文件从一个区域复制到另一个区域 我们无法访问源区域存储桶的凭据,但我们有一个针对源区域存储桶中每个文件的源的预签名URL,我们可以使用该URL下载文件,然后使用AWS上载URL将其上载到目标区域存储桶 下载文件时存在空间限制,因此我们试图找到一种方法,使用AWS Java SDK将文件从一个区域的bucket复制到另一个区域。这是可以实现的吗 编辑: 为了更清楚,这两个bucket都

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

我们无法访问源区域存储桶的凭据,但我们有一个针对源区域存储桶中每个文件的源的预签名URL,我们可以使用该URL下载文件,然后使用AWS上载URL将其上载到目标区域存储桶

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

编辑:


为了更清楚,这两个bucket都已经创建了,这是一个连续的过程,将作为代码的一部分实现。这不是一次性活动。

通常,在存储桶之间进行复制很容易。
CopyObject()
命令可以在bucket(甚至是不同区域和不同帐户中的bucket)之间复制对象,而无需下载/上载文件

但是,由于您只能通过预签名的URL访问文件,因此您需要:

  • 分别下载每个文件
  • 使用AWS SDK for Java中的
    PutObject()
    命令将每个文件上载到目标Amazon S3存储桶
这最好在源区域或目标区域的AmazonEC2实例上完成


如果源bucket的所有者能够为您提供对对象的“正常”访问权限,以便您可以使用
CopyObject()
,或者如果他们能够为您将对象复制到bucket中,那就更好了。

通常,在bucket之间进行复制很容易。
CopyObject()
命令可以在bucket(甚至是不同区域和不同帐户中的bucket)之间复制对象,而无需下载/上载文件

但是,由于您只能通过预签名的URL访问文件,因此您需要:

  • 分别下载每个文件
  • 使用AWS SDK for Java中的
    PutObject()
    命令将每个文件上载到目标Amazon S3存储桶
这最好在源区域或目标区域的AmazonEC2实例上完成


如果源bucket的所有者能够为您提供对对象的“正常”访问权限,以便您可以使用
CopyObject()
,或者如果他们能够为您将对象复制到bucket中,那就更好了。

我建议您先探索S3服务

以编程方式将文件从一个存储桶复制到另一个存储桶需要考虑很多问题:

  • S3 API速率限制
  • AWS传输数据的成本
  • AWS托管解决方案的成本,无论是托管在EC2、容器还是无服务器中
  • 开发和维护代码库的成本
  • S3对象元数据呢?元数据是否需要保留
  • 启用版本控制的S3存储桶怎么样

我建议首先探索S3服务

以编程方式将文件从一个存储桶复制到另一个存储桶需要考虑很多问题:

  • S3 API速率限制
  • AWS传输数据的成本
  • AWS托管解决方案的成本,无论是托管在EC2、容器还是无服务器中
  • 开发和维护代码库的成本
  • S3对象元数据呢?元数据是否需要保留
  • 启用版本控制的S3存储桶怎么样

您可以在帐户中设置S3复制吗?-您是否可以在帐户中设置S3复制我懂了。我们已经有了这样的设计(单独下载和上传),使用Java和SpringBoot作为备份。我们对此进行了探索,因为这似乎是一个更干净、更简单的解决方案。此外,我们无法访问该对象,因为它位于专用环境中。我会和我的建筑师讨论这个问题。谢谢你的回答。:)我懂了。我们已经有了这样的设计(单独下载和上传),使用Java和SpringBoot作为备份。我们对此进行了探索,因为这似乎是一个更干净、更简单的解决方案。此外,我们无法访问该对象,因为它位于专用环境中。我会和我的建筑师讨论这个问题。谢谢你的回答。:)