> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidocs.polytomic.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server.

# DynamoDB

Supports:
* ✅ Models
* ✅ Bulk sync source


## Connection

### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>auth_mode</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Authentication method<br/><br/>How to authenticate with AWS. Defaults to Access Key and Secret. Accepted values: `access_key_and_secret` <a href="#auth-mode-access-key-and-secret">↓</a>, `iam_role` <a href="#auth-mode-iam-role">↓</a></td>
<td><code>required</code></td>
</tr>
<tr>
<td><code>change_detection</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Use DynamoDB Streams for bulk syncs <a href="#change-detection-true">↓</a></td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>region</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">AWS region</td>
<td><code>required</code></td>
</tr>
</tbody>
</table>

<a id="auth-mode-access-key-and-secret"></a>

#### `auth_mode`

When `auth_mode` is `access_key_and_secret`:

<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>access_id</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">AWS access ID</td>
<td><code>required</code></td>
</tr>
<tr>
<td><code>secret_access_key</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">AWS secret access key</td>
<td><code>required</code></td>
</tr>
</tbody>
</table>

<table>
<thead>
<tr>
<th>Read-only property</th><th>Type</th><th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>aws_user</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">User ARN</td>
</tr>
</tbody>
</table>

```json
{
  "name": "DynamoDB connection",
  "type": "dynamodb",
  "configuration": {
    "access_id": "AKIAIOSFODNN7EXAMPLE",
    "auth_mode": "access_key_and_secret",
    "change_detection": false,
    "region": "us-east-1",
    "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
  }
}
```

<a id="auth-mode-iam-role"></a>

When `auth_mode` is `iam_role`:

<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>iam_role_arn</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">IAM role ARN</td>
<td><code>required</code></td>
</tr>
</tbody>
</table>

<table>
<thead>
<tr>
<th>Read-only property</th><th>Type</th><th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>external_id</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">External ID for the IAM role</td>
</tr>
</tbody>
</table>

```json
{
  "name": "DynamoDB connection",
  "type": "dynamodb",
  "configuration": {
    "auth_mode": "iam_role",
    "change_detection": false,
    "iam_role_arn": "",
    "region": "us-east-1"
  }
}
```

<a id="change-detection-true"></a>

#### `change_detection`

When `change_detection` is `true`:

<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>managed_streams</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Let Polytomic manage DynamoDB stream settings</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>

```json
{
  "name": "DynamoDB connection",
  "type": "dynamodb",
  "configuration": {
    "access_id": "AKIAIOSFODNN7EXAMPLE",
    "auth_mode": "access_key_and_secret",
    "change_detection": true,
    "managed_streams": false,
    "region": "us-east-1",
    "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
  }
}
```



## Model Sync
### Source
#### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>consistent</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Consistent</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>index</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Index</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>query</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Query</td>
<td><code>optional</code></td>
</tr>
<tr>
<td><code>table</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Table</td>
<td><code>optional</code></td>
</tr>
</tbody>
</table>


#### Example
```json
{
  ...
  "configuration": {
    "consistent": false,
    "index": "index",
    "query": "select * from users",
    "table": "users"
  }
}
```







## Bulk Sync
### Source
DynamoDB connections may be used as a bulk sync source. No additional configuration options are required.