Export DynamoDB Tables to S3 | Skeddly

Skeddly Blog

Skeddly news and announcements...

Export DynamoDB Tables to S3

Amazon DynamoDB is a flexible NoSQL database solution. It provides a serverless database for non-relational data.

Unlike Amazon RDS, there is no built-in way to backup or export the data stored in a DynamoDB table. There are many reasons you may want to export your DynamoDB table items to S3:

  • Backup the tables for disaster recovery purposes,
  • Access your DynamoDB table data using other AWS services, such as Amazon Athena

Amazon has provided a solution using AWS Data Pipeline to export DynamoDB items to S3, but that requires using additional AWS services and cannot be applied to multiple tables across multiple regions easily.

Today, we’re happy to announce the addition of a new action to Skeddly: Export DynamoDB Tables.

This new action will export one or more DynamoDB tables to an S3 bucket.

Multiple tables can be selected for export:

  • All tables can be selected,
  • Tables can be selected based on table name comparisons,
  • Tables can be selected based on resource tag comparisons, or
  • Tables can be selected across multiple regions.

So it’s really easy to export “all tables from all regions” to Amazon S3.

In addition, the S3 bucket can be owned by an AWS account that differs from the AWS account owning the DynamoDB tables. This allows you to export your DynamoDB tables to a different AWS account.

The action exports DynamoDB items as JSON data (UTF-8 encoded). The structure is similar to that used by the DynamoDB APIs. We’re calling it “DynamoDB Item Structured JSON”. Here is a sample:

{
  "id": {
    "S": "1"
  },
  "name": {
    "S": "Jeff"
  }
}

Additional formats are planned for the future. If you are interested in exporting your DynamoDB data, and have a particular format in mind, please let us know.

This action is currently in preview, available to everyone. While the action is in preview, we are providing the action for free.

Try It Today

Export your DynamoDB tables today. Sign-up for our 30 day free trial or sign-in to your Skeddly account to get started.