Kinesis Data Firehose Overview
Kinesis Data Firehose is a fully managed service designed to simplify the delivery of streaming data to various destinations.
Kinesis Data Firehose allows you to deliver your streaming data to a number of different destinations directly. There is no need for you to write consumer applications to do that for you or to manage the resources that are needed for that; you can simply set up a data firehose and it will direct that data through to that destination for you.
Key Features and Capabilities
Kinesis Data Firehose offers several features to manage and deliver streaming data efficiently.
A breakdown of Kinesis Data Firehose's primary capabilities:
Destinations
Kinesis Data Firehose supports delivery of streaming data to various AWS services directly. These include Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, and Splunk. It can also serve as an input stream or an output stream for Kinesis Data Analytics applications.
supported_destinations
Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, Splunk
kinesis_data_analytics_integration
Can be an input or output stream
Data Transformation
Data can be transformed before it's delivered to its destination. This transformation is achieved by using AWS Lambda code that you supply.
transformation_mechanism
Lambda code
Source Data Backup with Transformation
If you choose to apply a data transformation using Lambda, Kinesis Data Firehose also allows you to backup the original source data. This backup is always sent to an Amazon S3 bucket, even if the transformed data is sent to a different service like Redshift or Elasticsearch.
backup_destination
Amazon S3 bucket
Data Buffering
The incoming stream of data will be buffered before delivery to the destination. This buffering can be defined either by the size of the buffer in megabytes or by the buffer interval in seconds.
buffering_parameters
Buffer Size in MBs, Buffer Interval in seconds
Server-Side Encryption
Kinesis Data Firehose supports server-side encryption for the data being streamed.
Integration with Kinesis Data Analytics
Kinesis Data Firehose plays a role in Kinesis Data Analytics workflows as both a potential source and a destination for processed data.
Streaming inputs for an Amazon Kinesis Data Analytics application can come from a Kinesis Data Firehose delivery stream.
Kinesis Data Analytics applications, after processing data with SQL statements, can deliver their output to a Kinesis Data Firehose delivery stream. This stream then directs the processed data to final destinations such as Amazon S3, Redshift, or Elasticsearch.