This guide will show you how to analyze DynamoDB data with Tinybird.
You'll use Tinybird's open source DynamoDBExporter to capture historical and change data from DynamoDB tables and import it into Tinybird. This guide covers the integration in more detail.
Tip
Tinybird is actively developing a native DynamoDB connector. Contact us on support@tinybird.co to register your interest and receive notifications when it's live.
- Clone this repo
This guide covers the integration in more detail.
- Create a DynamoDB table called
tinybird_flights
with Partition keytransaction_id
of typeString
- Enable DDB Streams & PITR on the table 1
- Create a new S3 bucket called
tinybird-flights
- Create a new IAM Policy called
tinybird_flights_lambda
using the DynamoDBExporter template 2 - Create a new IAM Role called
tinybird_flights_lambda
for theLambda
service and assign thetinybird_flights_lambda
policy 3 - Create a new Lambda function called
tinybird_flights
using the DynamoDBExporter function and create the S3 & DynamoDB triggers 4
- Create a Tinybird account & Workspace
- Copy your admin token
- Go to the
tinybird
dir of this repo - Create a python venv with
python3 -m venv .venv
- Activate the venv with
source .venv/bin/activate
- Install the Tinybird CLI with
pip install tinybird-cli
- Authenticate with the CLI with
tb auth
- Run
tb push
to push the Tinybird resources to your Workspace
The demo uses Vercel and Next.js.
Vercel Serverless Functions are used for the backend APIs that interact with DynamoDB. To ensure that the DynamoDB calls work properly, you should use the Vercel CLI and vercel dev
to run the app locally.
Tinybird APIs are called directly from the browser.
- Install the Vercel CLI
- Go to the
app/dynamodb-tinybird-flights
dir of this repo - Install dependencies with
pnpm i
- Configure your environment variables in a
.env
file. You can use the.env.example
file as a template. - Run locally with
vercel dev
- Go to the UI on
http://localhost:3000
- On the UI, use the data control buttons to send some data to the DynamoDB table
- Trigger an S3 Export for the DynamoDB table 5
- Enable the DynamoDB trigger on the Lambda