【问题标题】:How do I only transition objects greater than 100MB to AWS Glacier from S3 Standard using AWS Lifecycle Management Policies?如何使用 AWS 生命周期管理策略仅将大于 100MB 的对象从 S3 Standard 转换到 AWS Glacier?
【发布时间】:2021-11-29 02:42:04
【问题描述】:

我在 S3 标准存储桶中有 50TB 的数据。

我想使用 S3 生命周期策略将大于 100MB 和超过 30 天的对象转换到 AWS Glacier。

如何只转换大于 100MB 的对象?

【问题讨论】:

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


    【解决方案1】:

    无法根据文件大小转换项目。

    顾名思义,S3 生命周期 策略允许您根据对象 生命周期(而不是文件大小)指定转换操作,以将项目从 S3 标准存储类移动到S3 冰川。

    现在,可能会建议一种非常低效且成本高昂的方法是安排 Lambda 每天检查 S3 存储桶,查看是否有 30 天前的内容,然后将项目“移动”到 Glacier。

    但是,Glacier API 不允许您将项目从 S3 标准移动到 Glacier,除非通过生命周期策略

    这意味着您需要下载 S3 对象,然后再次重新上传该项目到 Glacier。

    我仍然建议每天运行 Lambda 来检查项目的文件大小,但是,例如,创建另一个名为 archive 的文件夹(键)。如果有任何超过 30 天且大于 100MB 的项目,copy 将项目从当前文件夹到 archive 文件夹,然后删除原始项目。

    设置 0 天生命周期政策,根据其他文件夹(存档)的前缀进行过滤,然后尽快将项目转移到 Glacier。

    这样,您将能够在 30 天后传输大于 100MB 的项目,而无需支付与将项目上传到 Glacier 相关的更高的每次请求费用,这甚至可能比您最初的目标节省更多费用地点。

    若要稍后将对象从 Glacier 转换回 S3 Standard,请使用 RestoreObject API(或 SDK 等效项)将其恢复回原始文件夹。最后,使用 DELETE request to the archive URL 从 Glacier 中删除对象。

    【讨论】:

      【解决方案2】:

      创建一个lambda that runs every day(cron 作业),检查存储桶中超过 30 天且大于 100mb 的文件。您可以使用s3 apiglacier api

      【讨论】:

        猜你喜欢
        • 2021-06-29
        • 1970-01-01
        • 1970-01-01
        • 2019-05-06
        • 1970-01-01
        • 2021-05-23
        • 2021-08-16
        • 2023-01-02
        • 2021-06-14
        相关资源
        最近更新 更多