DocsAWS 101BlogServices

Firehose

Delivery streams to S3, Apache Iceberg (S3 Tables), and HTTP; Redshift / OpenSearch / Splunk / Snowflake accepted as metadata.

JSON-RPC (X-Amz-Target) multi-tenant 12 operations

Quick start

import boto3
fh = boto3.client("firehose", endpoint_url="http://localhost:4566",
                  region_name="us-east-1",
                  aws_access_key_id="test", aws_secret_access_key="test")
fh.create_delivery_stream(DeliveryStreamName="d",
    S3DestinationConfiguration={"RoleARN":"arn:...","BucketARN":"arn:aws:s3:::bkt"})
fh.put_record(DeliveryStreamName="d", Record={"Data":b"hello"})

Supported operations

12 operations exposed by this service as of MiniStack 1.4.21. Extracted directly from the handler dispatch in the source module.

CreateDeliveryStream DeleteDeliveryStream DescribeDeliveryStream ListDeliveryStreams ListTagsForDeliveryStream PutRecord PutRecordBatch StartDeliveryStreamEncryption StopDeliveryStreamEncryption TagDeliveryStream UntagDeliveryStream UpdateDestination

CloudFormation

The CloudFormation engine provisions these resource types via this service:

AWS::KinesisFirehose::DeliveryStream

See CloudFormation engine for intrinsic support and lifecycle details.

Known limitations

  • Only S3/ExtendedS3 and Iceberg (S3 Tables) destinations actually write data. Redshift / OpenSearch / Splunk / Snowflake / HTTP destinations are metadata only.

Source

  • ministack/services/firehose.py

Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.