DynamoDBToLiteDB 0.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global DynamoDBToLiteDB --version 0.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local DynamoDBToLiteDB --version 0.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DynamoDBToLiteDB&version=0.0.3
                    
nuke :add-package DynamoDBToLiteDB --version 0.0.3
                    

GitHub Nuget Nuget NuGet version

DynamoDbToLiteDb

A small CLI tool to turn a DynamoDB backup into a local LiteDB file—and optionally CSV—so you can query or export data without incurring large scan costs.

Why use this

  • Lower cost: Downloading a backup from S3 avoids DynamoDB scans and high read-capacity consumption.
  • Local querying: Inspect or filter data in LiteDB without hitting AWS.
  • CSV export: Extract only the fields you need for reports or sharing.

Prerequisites

  • Export your DynamoDB table to an S3 bucket
  • Copy the S3 path to manifest-summary.json (or download that file locally)
  • AWS credentials/configured with S3 “GetObject” access on your machine

Installation

dotnet tool install -g DynamoDbToLiteDb

# Or build locally
git clone https://github.com/your-org/dynamoDbToLiteDb.git
cd dynamoDbToLiteDb
dotnet pack
dotnet tool install --global --add-source ./nupkg DynamoDBToLiteDB

Usage

dynamoDbToLiteDb [command] [options]

Import backup into LiteDB

dynamoDbToLiteDb <manifest-summary> [options]
  • <manifest-summary> — local path or S3 URL to manifest-summary.json

Options

Flag Description Default
-o, --output Output .db path ./lite.db
-b, --backup-path Temp folder for downloaded shards OS temp + /d2l-backup
--clean Delete temp shards after import true
-c, --collection-name LiteDB collection name default
-h, --help Show help

Export CSV from LiteDB

dynamoDbToLiteDb tocsv <fields...> [options]
  • <fields...> — space-separated field names to include in CSV

Options

Flag Description Default
-d, --db LiteDB file ./lite.db
-o, --output CSV output path ./output.csv
-b, --batch Rows per batch flush 10000
-w, --where SQL-like WHERE filter 0=0
-c, --collection-name Collection name default
-h, --help Show help

Examples

  1. Import S3 backup

    dynamoDbToLiteDb s3://my-bucket/backups/manifest-summary.json \
      --output data/app.db \
      --backup-path ./tmp \
      --clean
    
  2. Export selected fields

    dynamoDbToLiteDb tocsv UserId Name Email \
      --db data/app.db \
      --output users.csv \
      --where "IsActive=true"
    

Contributing

  1. Fork the repo
  2. Create a branch (git checkout -b my-change)
  3. Commit & push
  4. Open a pull request

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.0.5 172 4/28/2025
0.0.4 156 4/28/2025
0.0.3 88 4/25/2025
0.0.1 109 4/25/2025