How to Configure DynamoDB as a Source Connector
May 2026
DynamoDB source setup is clean when the table, region, and AWS principal are settled before you decide whether to stay batch or enable Streams.
Short Answer
Configure DynamoDB as a source by setting source.kind to dynamodb, then filling in table_name and region. Authentication follows the AWS default credential chain, so the cleanest setup is usually an IAM role, task role, or profile that already has the right table permissions instead of hard-coding keys into the connector config.
A clean first setup is often a batch read of one table in one region, with endpoint_url only added for a local emulator such as LocalStack. Once that works, you can decide whether to add cdc_enabled: true and the matching pipeline cdc: block so the same connector also consumes DynamoDB Streams for real-time changes.
Why Teams Struggle with This
DynamoDB looks simple because the config surface is small, but the real work sits in AWS identity and service boundaries. Teams often know the table name, then discover the caller can describe the table but cannot scan it, or that Streams permissions are missing when they try to move from batch to CDC.
- The AWS principal needs at least
dynamodb:DescribeTableanddynamodb:Scanfor batch extraction. - If you enable CDC later, the same identity also needs the DynamoDB Streams permissions documented in the CDC guide.
- The connector has to point at the correct AWS region or custom
endpoint_url. - Starting with one table is easier to validate than trying to generalize the IAM policy too early.
How Skippr Handles It
Skippr keeps DynamoDB configuration close to the service model AWS already uses. You provide the table name, region, and optional endpoint, and the runtime consumes credentials from the standard AWS chain. That makes the connector portable across local development, ECS, EC2, CI, and SSO-backed environments.
Operationally, the first setup is easy to reason about. A batch run proves the connector can reach the table and read items, and later enabling Streams lets you extend the same integration into final-state CDC pipelines without replacing the source definition.
- Minimal source config with
table_name,region, and optionalendpoint_url. - Authentication through the AWS default credential chain.
- Clear permission boundary between batch reads and Streams-based CDC.
- A practical starting point for teams that want to validate one DynamoDB table before widening scope.
What the First Useful Version Looks Like
Validate the first scan against a small, known table so you can check item counts and schema shape before introducing Streams.
If the environment runs in AWS already, prefer an attached role over static access keys so the connector behaves the same way in production as it did during evaluation.
