无法将数据从 AWS Kinesis 存档到 Glacier

Cannot Archive Data from AWS Kinesis to Glacier

我正在处理作为 EC2 上的 Web 服务托管的数据处理应用程序,每秒生成一个 .csv 格式的小数据文件(小于 10KB)。

问题陈述: 将生成的所有数据文件存档到 Amazon Glacier。

我的方法: 由于数据文件非常小。我将文件存储在 AWS Kinesis 中,几个小时后我将数据刷新到 S3(因为我无法找到将数据从 Kinesis 放入 Glacier 的直接方法)并在一天结束时使用 S3 生命周期管理将所有对象存档到 Glacier .

我的问题:

  1. 有没有办法将数据直接从 Kinesis 传输到 Glacier?

  2. 是否可以将 Kinesis 配置为在一天结束时将数据刷新到 S3/Glacier? Kinesis 可以保存数据是否有任何时间或内存限制?

  3. 如果 Kinesis 无法直接将数据传输到 Glacier。是否有类似的解决方法 - 我可以编写一个 lambda 函数,它可以从 Kinesis 获取数据并将其存档到 Glacier 吗?

  4. 是否可以在 Kinesis 或 S3 或 Glacier 级别合并所有 .csv 文件?

  5. Kinesis 适合我的用例吗?还有什么我可以用的吗?

如果有人能花时间回答我的问题并指出一些参考资料,我将不胜感激。如果我的方法有缺陷或者是否有更好的方法,请告诉我。

谢谢。

  1. 不能直接把Kinesis的数据放到Glacier中(除非你想把10kb的文件a直接放到Glacier中)
  2. 您可以将 Kinesis Data Firehose 视为一种冲洗 15 分钟的方式。数据增量到 S3
  3. 你绝对可以做到。 Glacier 允许直接上传,因此无需先上传到 S3
  4. 您可以使用 Firehose 刷新到 S3,然后使用 Athena 进行转换和聚合,然后将该文件传输到 Glacier。或者您直接使用 Lambda 并直接上传到 Glacier。
  5. 也许将数据流式传输到 Firehose 会更有意义。根据您的具体需求,物联网分析可能也很有趣。

再次阅读您的问题,看到您使用 csv 文件,我强烈建议您使用 Kinesis > S3 > Athena > Transition to glacier 方法