当前位置: 首页 > 知识库问答 >
问题:

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

齐学文
2023-03-14

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

我们不能访问源区域bucket的凭据,但是我们有源区域bucket中每个文件的源的预签名URL,使用它我们可以下载文件,然后使用AWS上载URL将其上载到目标区域bucket。

编辑:

为了更清楚一些,两个桶都已经创建了,并且这是一个要作为我们代码的一部分实现的连续过程。它不是一次性的活动。

共有1个答案

仉姚石
2023-03-14

通常情况下,存储桶之间的复制很容易。copyObject()命令可以在存储桶(甚至不同区域和不同帐户中的存储桶)之间复制对象,而不必下载/上传文件。

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

  • 单独下载每个文件
  • 使用AWS SDK for Java
  • 中的 putObject()命令将每个文件上载到目标AmazonS3桶

如果源桶的所有者能够为您提供对对象的“正常”访问,以便您可以使用copyObject(),或者如果他们能够为您将对象复制到桶中,则会更好。

 类似资料:
  • 问题内容: 假设我有两个文本区域… 文字区1 文字区2 我希望能够从在文本区域2中键入的文本之后的文本中添加文本。例如:如果我写“我的名字叫乔”。在textarea中,它会同时复制并写“我的名字叫乔”。在现有的“ Hi There”之后的两个文本区域中。文本。 结果将是… 我可以使用jQuery还是需要使用AJAX这样做?我将如何去做? 问题答案: 绑定到事件时,您会注意到延迟。通常绑定到事件时,

  • 如何使用java将文件从一个文件夹复制到另一个文件夹?我试图使用 如果目标文件夹不包含具有相同名称的文件,则此操作有效。如果我尝试将文件粘贴到文件夹中,它会引发IOException。然而,有什么办法可以解决这个问题吗?可能我只想将自动重命名为pasteItem(1)或类似名称的文件粘贴。请建议。 事实上,如果同名文件已经存在,我将为该文件获得一个新名称。我不知道如何复制文件,然后重命名。如果我先

  • 问题内容: 说我在目录中还有一个文件。如何替换为使用?我在Windows XP上,跨平台的解决方案会很棒,但是Windows是首选。 问题答案: 您可以使用以下 功能: 在其手册页中引用了几个相关的句子: 将文件源的副本复制到dest。 如果目标文件已经存在,它将被覆盖。

  • 问题内容: 我想将文件从Java中的一个位置复制到另一位置。做这个的最好方式是什么? 这是我到目前为止的内容: 这不会复制文件,执行此操作的最佳方法是什么? 问题答案: 您可以使用此(或任何变体): 另外,我建议您使用或代替使其兼容于多个操作系统. 由于您不确定如何临时存储文件,因此请查看: 要将a 个文件移动到单个目录中:

  • 我正在使用QT,我无法找到如何将文件从一个目录复制到另一个目录?我怎样才能做到这一点?

  • 问题内容: 我想使用Java将文件从一个目录复制到另一个目录(子目录)。我有一个包含文本文件的目录dir。我遍历dir中的前20个文件,并想将它们复制到dir目录中的另一个目录中,该目录是我在迭代之前创建的。在代码中,我想将(代表第ith个文本文件或审阅)复制到。我怎样才能做到这一点?似乎没有这样的功能(或者我找不到)。谢谢。 问题答案: 目前,这应该可以解决你的问题 从类阿帕奇公地IO库,因为1