【问题标题】:How to create one glacier archive for many s3 objects?如何为许多 s3 对象创建一个冰川档案?
【发布时间】:2023-03-25 12:21:01
【问题描述】:

我们的一位客户要求获取他们上传到系统的所有视频。文件存储在 s3。客户希望获得一个链接,该链接将下载包含所有视频的存档。

有没有一种方法可以创建这样的存档,而无需下载存档并上传回 aws 的文件?

到目前为止,我还没有找到解决方案。

是否可以用冰川来做,或者将文件移动到文件夹并暴露它?

【问题讨论】:

  • Glacier 不会帮助您为客户创建单个存档。如果您在 S3 上有很多文件,因此下载压缩和上传会花费大量时间,也许您可​​以与他们讨论替代方案,例如使用 AWS CLI。

标签: amazon-web-services amazon-s3 amazon-glacier


【解决方案1】:

很遗憾,您无法直接在 S3 上从现有对象创建类似 zip 的存档。同样,您不能将它们转移到 Glacier 来执行此操作。 Glacier 不会为您从多个 s3 对象生成单个 zip 或 rar(或任何时间)存档。

相反,您必须先下载它们,zip 或 rar(或使用您喜欢的存档格式),然后重新上传到 S3。然后您可以与您的客户共享 zip/rar。

还有a possibility 使用多部分 AWS API 来合并 S3 对象而无需下载它们。但这需要编写自定义解决方案来合并对象(而不是创建 zip/rar 类型的档案)。

【讨论】:

  • 启动一个 EC2 实例来完成这项工作是个好主意,因为它不会因为移动数据而收费(而且几乎可以肯定有更高的 S3 带宽)。
  • @kdgregory 我认为这是解决问题的好方法。
【解决方案2】:

您可以使用 AWS 生命周期规则执行此操作,从而为特定前缀(您看到的子文件夹)创建冰川存档。

更多信息here

原答案

没有本地方法可以通过 S3 将所有对象作为存档检索。

S3 只是在上传所有对象时公开所有对象,不幸的是,之后您需要将归档作为一个单独的过程执行。

【讨论】:

  • 但是冰川呢?
  • Glacier 为您的对象创建一个存档,这是针对从 S3 移动并存储在此处的对象的长期备份。您需要付费才能检索存档。
  • 这不是问题,问题是是否可以从多个s3文件或一个文件夹中创建一个冰川存档?
  • 对,更新后的答案,您可以使用特定前缀进行迁移。一个冰川档案可以保存多个文件
  • 这如何回答向 OP 的客户提供档案的问题?不仅如此,如果他们听从您的建议,将所有文件移至 Glacier,他们可能需要支付巨额费用才能恢复这些文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多