通过 Kinesis Stream 或 Firehose 写入 S3

Writing to S3 via Kinesis Stream or Firehose

我有不断发生的事件,我需要将其放入 S3。我正在尝试评估我是否想使用 Kinesis Stream 或 Firehose。我还想在写入 S3 之前等待几分钟,以便对象相当满。

根据我对 Kinesis Data stream 的阅读,我必须创建一个分析应用程序,然后用于调用 lambda。然后我将不得不使用 lambda 写入 S3。或者 Kinesis Data Streams 可以以某种方式直接写入 lambda?我找不到任何表明相同的东西。

Firehose 不按小时收费(流媒体按小时收费)。那么,firehose 对我来说是更好的选择吗?

Or Kinesis Data Streams can directly write to lambda somehow?

数据流无法直接写入 S3。相反 Firehose 可以这样做:

delivering real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon Elasticsearch Service (Amazon ES), Splunk, and any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.

此外,Firehose 允许您在写入 S3 之前buffer the records before writing them to S3. The writing can happen based on buffer size or time. In addition to that you can process the records使用 lambda 函数。

因此,总的来说,Firehose 似乎比数据流更适合您的用例。