Search documentation...

K
ChangelogBook a demoSign up

DynamoDB

Power internal tools, in-app experiences, and more

Overview

This destination combines the analytical power of your data warehouse to power your high-performance applications at any scale.

Supported syncing

Sync TypeDescriptionSupported Sync Modes
ItemsSync rows from any source as items into DynamoDBUpsert

Getting started

To connect to your DynamoDB instance, you need to provide Hightouch access to your AWS account. You can do this via access key or cross-account role. For either method, you must give permission for the following actions:

    "dynamodb:BatchGetItem",
    "dynamodb:BatchWriteItem",
    "dynamodb:PutItem",
    "dynamodb:DescribeTable",
    "dynamodb:DeleteItem",
    "dynamodb:UpdateItem",

Authenticating with a cross-account role

Hightouch recommends using a cross-account role for cleaner access. See our AWS security page to learn more about how to use the cross-account role.

Authenticating with an access key

You can give Hightouch access to your AWS account with an access key. Copy your Access key ID and Secret access key into Hightouch. See the AWS docs for best practices.

Syncing data

Once you've authenticated DynamoDB in Hightouch, you need to set up your sync configuration.

Table selection

In the sync configuration page, select a DynamoDB table to sync to. If your table doesn't exist yet, create it in AWS.

Record matching

match rows in your model with records in DynamoDB via DynamoDB's primary key. See AWS's guide on how to choose a primary key to learn more.

Field mapping

Hightouch infers field types from the fields values of rows.

Hightouch sends the timestamp field to DynamoDB as an ISO string. If you want to format it differently, format the value in your model and set the type to String.

Delete behavior

When rows are deleted from your source, you can do nothing, clear, or delete them in DynamoDB.

TypeDescription
Do nothingKeep the synced record in your DynamoDB
ClearRemove the synced fields of the synced record from your DynamoDB
DeleteDelete the synced record from your DynamoDB

Deletions are destructive and irreversible. Be sure this is the behavior you want when selecting clear or delete.

Testing a sync

Before running your sync, Hightouch recommends that you test your sync configuration by syncing a single row. You can verify that a row was successfully synced by going to your DynamoDB instance table and finding the synced row by its primary key.

Tips and troubleshooting

Rate limits

DynamoDB has quotas that may limit your syncs. If that happens, Hightouch retries failed rows. For more information, refer to DynamoDB's throughput quotas.

Empty field mappings

DynamoDB is a key/value NoSQL database. That means the database doesn't store metadata on its columns and column names and you won't see any suggested fields during field mapping in Hightouch.

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Using the Hightouch debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Setting up sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Dec 22, 2022

On this page

OverviewSupported syncingGetting startedAuthenticating with a cross-account roleAuthenticating with an access keySyncing dataTable selectionRecord matchingField mappingTesting a syncTips and troubleshootingRate limitsEmpty field mappingsCommon errorsUsing the Hightouch debuggerSetting up sync alerts

Was this page helpful?