0

初始状态:

我有两个称为input_bucket和的 S3 存储桶output_bucket。每一秒,我都input_bucket充满了 csv_files。

我的要求: 我想将存在的 csv_filesinput_bucket(STANDARD_CLASS)移至output_bucker(Glacier storage class)

注意:我想移动 csv_files(从创建之日起 40 天)

请为此提出一些解决方案

4

1 回答 1

0

有多种方法可以实现:

1 使用复制简单和推荐

您无需编写任何代码即可实现它。此解决方案将复制创建的文件input_bucket,然后在 40 天后output_bucket将其删除。input_bucket

例如

<LifecycleConfiguration>
  <Rule>
    <ID>Transition Rule</ID>
    <Status>Enabled</Status>
    <Expiration>
      <Days>40</Days>
      <StorageClass>S3 Glacier</StorageClass>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

2 使用自定义应用程序 (不推荐)

启用 S3 触发器,然后使用 Lambda 函数创建启用TTL 40 天的 Dynamodb 项目。Dynamodb 项目应包含 S3 对象路径。您还需要启用Dynamodb 流以触发 Lambda 函数,该函数将从input_bucket中复制对象output_bucket,然后将其从源中删除。此解决方案价格昂贵,不推荐使用。

于 2020-08-27T02:35:27.980 回答