1
0
mirror of synced 2025-12-20 10:32:35 -05:00
Files
airbyte/docs/integrations/sources/dynamodb.md
devin-ai-integration[bot] 5bf1f0231a chore(source-dynamodb): Convert to new gradle build flow (do not merge) (#62916)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yue.li@airbyte.io <yue.li@airbyte.io>
2025-07-11 01:04:49 +00:00

5.6 KiB
Raw Permalink Blame History

Dynamodb

The Dynamodb source allows you to sync data from Dynamodb. The source supports Full Refresh and Incremental sync strategies.

Resulting schema

Dynamodb doesn't have table schemas. The discover phase has three steps:

Step 1. Retrieve items

The connector scans the table with a scan limit of 1k and if the data set size is > 1MB it will initiate another scan with the same limit until it has >= 1k items.

Step 2. Combining attributes

After retrieving the items it will combine all the different top level attributes found in the retrieved items. The implementation assumes that the same attribute present in different items has the same type and possibly nested attributes values.

Step 3. Determine property types

For each item attribute found the connector determines its type by calling AttributeValue.type(), depending on the received type it will map the attribute to one of the supported Airbyte types in the schema.

Features

Feature Supported
Full Refresh Sync Yes
Incremental - Append Sync Yes
Replicate Incremental Deletes No
Namespaces No

Full Refresh sync

Works as usual full refresh sync.

Incremental sync

Cursor field can't be nested, and it needs to be top level attribute in the item.

Cursor should never be blank. and it needs to be either a string or integer type - the incremental sync results might be unpredictable and will totally rely on Dynamodb comparison algorithm.

Only ISO 8601 and epoch cursor types are supported. Cursor type is determined based on the property type present in the previously generated schema:

  • ISO 8601 - if cursor type is string
  • epoch - if cursor type is integer

Getting started

This guide describes in details how you can configure the connector to connect with Dynamodb.

Role Based Access

Defining access_key_id and secret_access_key will use User based Access. Role based access can be achieved by omitting both values from the configuration. The connector will then use DefaultCredentialsProvider which will use the underlying role executing the container workload in AWS.

Сonfiguration Parameters

  • endpoint: aws endpoint of the dynamodb instance
  • region: the region code of the dynamodb instance
  • (Optional) access_key_id: the access key for the IAM user with the required permissions. Omit for role based access.
  • (Optional) secret_access_key: the secret key for the IAM user with the required permissions. Omit for role based access.
  • reserved_attribute_names: comma separated list of attribute names present in the replication tables which contain reserved words or special characters. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ExpressionAttributeNames.html

Changelog

Expand to review
Version Date Pull Request Subject
0.3.11 2025-07-10 62916 Add gradle docker plugins
0.3.10 2025-06-14 61601 fix(source-dynamodb): Replace ListNode with Iterator for lazyness #61600
0.3.9 2025-02-12 53202 fixed IRSA by adding STS to classpath of connector.
0.3.8 2025-01-10 51489 Use a non root base image
0.3.7 2024-12-18 49881 Use a base image: airbyte/java-connector-base:1.0.0
0.3.6 2024-07-19 41936 Fix incorrect type check for incremental read
0.3.5 2024-07-23 42433 add PR number
0.3.4 2024-07-23 49881 fix primary key fetching
0.3.3 2024-07-22 49881 fix primary key fetching
0.3.2 2024-05-01 27045 Fix missing scan permissions
0.3.1 2024-05-01 31935 Fix list more than 100 tables
0.3.0 2024-04-24 37530 Allow role based access
0.2.3 2024-02-13 35232 Adopt CDK 0.20.4
0.2.2 2024-01-24 34453 bump CDK version
0.2.1 2024-01-03 #33924 Add new ap-southeast-3 AWS region
0.2.0 18-12-2023 https://github.com/airbytehq/airbyte/pull/33485 Remove LEGACY state
0.1.2 01-19-2023 https://github.com/airbytehq/airbyte/pull/20172 Fix reserved words in projection expression & make them configurable
0.1.1 02-09-2023 https://github.com/airbytehq/airbyte/pull/22682 Fix build
0.1.0 11-14-2022 https://github.com/airbytehq/airbyte/pull/18750 Initial version