如何使用aws java sdk将文件从S3 bucket从一个区域复制到另一个区域?
我们在AWS中有两个区域,每个区域中都有一个AWS S3存储桶。如何使用AWS Java SDK将bucket中的文件从一个区域复制到另一个区域 我们无法访问源区域存储桶的凭据,但我们有一个针对源区域存储桶中每个文件的源的预签名URL,我们可以使用该URL下载文件,然后使用AWS上载URL将其上载到目标区域存储桶 下载文件时存在空间限制,因此我们试图找到一种方法,使用AWS Java SDK将文件从一个区域的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都
为了更清楚,这两个bucket都已经创建了,这是一个连续的过程,将作为代码的一部分实现。这不是一次性活动。通常,在存储桶之间进行复制很容易。
CopyObject()
命令可以在bucket(甚至是不同区域和不同帐户中的bucket)之间复制对象,而无需下载/上载文件
但是,由于您只能通过预签名的URL访问文件,因此您需要:
- 分别下载每个文件
- 使用AWS SDK for Java中的
命令将每个文件上载到目标Amazon S3存储桶PutObject()
如果源bucket的所有者能够为您提供对对象的“正常”访问权限,以便您可以使用
CopyObject()
,或者如果他们能够为您将对象复制到bucket中,那就更好了。通常,在bucket之间进行复制很容易。CopyObject()
命令可以在bucket(甚至是不同区域和不同帐户中的bucket)之间复制对象,而无需下载/上载文件
但是,由于您只能通过预签名的URL访问文件,因此您需要:
- 分别下载每个文件
- 使用AWS SDK for Java中的
命令将每个文件上载到目标Amazon S3存储桶PutObject()
如果源bucket的所有者能够为您提供对对象的“正常”访问权限,以便您可以使用
CopyObject()
,或者如果他们能够为您将对象复制到bucket中,那就更好了。我建议您先探索S3服务
以编程方式将文件从一个存储桶复制到另一个存储桶需要考虑很多问题:
- S3 API速率限制
- AWS传输数据的成本
- AWS托管解决方案的成本,无论是托管在EC2、容器还是无服务器中
- 开发和维护代码库的成本
- S3对象元数据呢?元数据是否需要保留
- 启用版本控制的S3存储桶怎么样
- S3 API速率限制
- AWS传输数据的成本
- AWS托管解决方案的成本,无论是托管在EC2、容器还是无服务器中
- 开发和维护代码库的成本
- S3对象元数据呢?元数据是否需要保留
- 启用版本控制的S3存储桶怎么样