首页 > 解决方案 > 配置 Firehose 以便每个 S3 对象只写入一条记录?

问题描述

我正在使用 Firehose 传输流将 JSON 写入 S3。这些 JSON 代表调用。流通常会收到新版本的 JSON,它会带来有关所代表调用的新信息。

我希望我的 Firehose 将每个 JSON 记录写入一个单独的 S3 对象,因此不要像默认情况下那样将它们组合在一起。每个 JSON 都将写入一个标识调用的 S3 密钥,因此当出现新版本的 JSON 时,Firehose 会替换其在 S3 中的先前版本。这可能吗?

我看到我可以设置触发写入 S3 的缓冲区大小,但是我可以显式配置我的 Firehose 流,以便每条记录只写入一个 S3 对象吗?

不涉及红移。

标签: amazon-web-servicesamazon-s3amazon-kinesis-firehose

解决方案


这对于Amazon Kinesis Data Firehose是不可能的。这是一个简化的服务,只有几个配置选项。

相反,您可以使用Amazon Kinesis Data Streams:

  • 将数据发送到流
  • 创建一个 AWS Lambda 函数,该函数将在流接收到数据时触发
  • 编写 Lambda 函数代码以将数据写入适当的 Amazon S3 对象

请参阅:将 AWS Lambda 与 Amazon Kinesis 结合使用 - AWS Lambda


推荐阅读