AWS Firehose buffering


When writing records to an AWS Firehose which is configured with S3 as the output destination, how long is this data buffered before it is written to S3? Or is there a minimum size threshold?

For example, I’m doing the following to add records:

aws cli:


I do not see this immediately in my S3 bucket, however if I use the “Test Data” feature in the aws console I will see files being added to S3 with the test data including my above test record.

So my questions are,

1.) Does Firehose have some kind of buffer threshold that it must reach before it writes it’s buffered data to it’s output source?

2.) How can I determine what data/records are within the firehose buffer at any given time?


1) Yes, it is configurable within firehose

Kinesis Firehose buffers incoming data before delivering it to Amazon
S3. You can choose a buffer size (1-128 MBs) or buffer interval
(60-900 seconds); whichever condition is satisfied first triggers data
delivery to Amazon S3.

Creating an Amazon Kinesis Firehose Delivery Stream

2) You cannot. Firehose does not expose the pending data.

Leave a Reply