【问题标题】:Amazon S3: move files out of a bucket and into GlacierAmazon S3:将文件从存储桶移到 Glacier
【发布时间】:2020-10-15 13:02:30
【问题描述】:

我有一个 S3 存储桶(称为 main_bucket),各种 TIFF 文件都上传到该存储桶。上传到main_bucket 时,会触发一个 Lambda 函数,该函数将 TIFF 转换为 JPEG 并将 JPEG 存储在存储桶中。然后我想将 TIFF 存储在 Glacier 中并将其从 main_bucket 中删除,但我不知道该怎么做。

当然,我可以创建第二个存储桶(称为 archive),在 archive 上设置生命周期,以便它将所有内容存储在 Glacier 存储类中,并在 main_bucket 上设置生命周期规则,以便main_bucket 中的所有 TIFF 文件都复制到 archive。这将确保上传的 TIFF 的副本以 archive 结尾,并且由于 archive 中的所有内容都在 Glacier 存储类中,这意味着所有 TIFF 都以 Glacier 结尾,这就是我想要的。 但是:这种方法还会在main_bucket 中保留每个 TIFF 的副本,这是我想要的。我可以从main_bucket 中删除 TIFF,但我不知道什么时候这样做;我不相信有与 archive 的副本相对应的事件正在完成。有什么方法可以做我正在寻找的吗?

【问题讨论】:

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


    【解决方案1】:

    将对象移动到GlacierGlacier Deep Archive 存储类是归档很少(可能)访问的对象的绝佳方式。

    看来您的情况是:

    • TIFF 已上传到 Bucket-A
    • 这会触发一个 AWS Lambda 函数,该函数将 TIFF 转换为 JPG 并将其存储在 同一存储桶
    • 然后您希望将 TIFF 移至 Bucket-B 并移至 Glacier 存储类

    选项 1:交换桶顺序

    • 已将 TIFF 上传到 Bucket-B
    • 这会触发将 JPG 存储在 Bucket-A(不同的存储桶!)中的 Lambda 函数。
    • 在 Bucket-B 中添加一个生命周期规则,在一段时间后归档 TIFF

    此选项的美妙之处在于无需移动任何对象。对象总是在需要的存储桶中创建。

    选项 2:将对象作为 Lambda 函数的一部分移动

    • Lambda 函数在 Bucket-A 中创建 JPG 后,还应该:
    • 将 TIFF 复制到 Bucket-B
    • Bucket-A 中删除 TIFF
    • 在 Bucket-B 中添加一个生命周期规则,在一段时间后归档 TIFF

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-11
      • 2017-06-11
      • 1970-01-01
      • 2021-05-01
      • 2017-05-10
      • 2018-04-04
      • 2017-11-23
      • 1970-01-01
      相关资源
      最近更新 更多