Connection requirements
- AWS credentials (access key/secret, or an assumable IAM role) scoped to the table
- IAM permissions: dynamodb:DescribeTable, dynamodb:Scan, dynamodb:Query for the bulk load
- For CDC: DynamoDB Streams enabled on the table with view type NEW_AND_OLD_IMAGES, plus dynamodb:DescribeStream, dynamodb:GetShardIterator, and dynamodb:GetRecords
DynamoDB Streams
CDC reads DynamoDB Streams shards for the table. Each Put, Update, and Delete event includes both the new and old item image (with NEW_AND_OLD_IMAGES enabled), which is what makes replicating deletes and partial updates possible.
Setup
1
Enable Streams
On the DynamoDB table, turn on Streams with view type NEW_AND_OLD_IMAGES before connecting — this can't be changed after the fact without recreating the stream.
2
Add the connection
Provide the AWS region and credentials under Connections → Add.
3
Introspect and map
NoSQLSync samples items across partitions to infer a union schema, since DynamoDB items in the same table can carry different attributes.
FAQ
What if Streams wasn't enabled when the table was created?
Enable it any time from the table's Exports and streams tab — it takes effect immediately, but only events after that point are captured. Run a bulk load first to capture what already exists.
Does this need DynamoDB Global Tables or a specific billing mode?
No. Both provisioned and on-demand billing modes work, and Global Tables aren't required.