Enable Kinesis Data Firehose dynamic partitioning to route records into S3 by data content

domain: docs.aws.amazon.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Enable dynamic partitioning on the Firehose delivery stream when configuring the S3 destination
  2. Define partitioning keys using inline parsing: specify jq 1.6 expressions (Firehose supports jq 1.6 only) that extract values from each JSON record, e.g. a key 'customer_id' with jq query '.customer_id'
  3. Alternatively, or additionally, use an AWS Lambda transform to compute partitioning keys for non-JSON, compressed, or encrypted source data, since inline jq parsing only works on plain JSON records
  4. Configure the S3 bucket prefix to reference the partitioning keys using the '!{partitionKeyFromQuery:keyName}' syntax so delivered objects land under the corresponding dynamic prefixes
  5. Ensure the number of configured S3 prefix placeholders matches the number of defined partitioning keys exactly, or stream configuration will fail validation
  6. Enable record deaggregation and new-line delimiters as needed so Firehose can correctly parse individual records before applying the jq expressions

Known gotchas

Related routes

switch a kinesis data stream between on-demand and provisioned capacity modes safely
docs.aws.amazon.com · 5 steps · unrated
Work within Kinesis Data Streams on-demand mode's automatic scaling limits without triggering write throttling
aws-kinesis · 6 steps · unrated
Reshard a Kinesis Data Stream and manage the KCL lease table during the transition
aws-kinesis · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans