Skip to content
Mark Lauter edited this page May 17, 2026 · 11 revisions

DynamoDbLite MSL Armory

DynamoDbLite

Another weapon from the MSL Armory

A lightweight, in-process implementation of IAmazonDynamoDB backed by SQLite — for local development, testing, and offline-capable apps. See the AWS DynamoDB Developer Guide for DynamoDB concepts.

Why DynamoDbLite?

  • No AWS credentials needed — develop and test without internet connectivity
  • Fast testing — in-memory or file-based SQLite, no network round-trips
  • Zero cost — no DynamoDB provisioned capacity charges during development
  • Drop-in replacement — implements the IAmazonDynamoDB interface (see API Parity for the supported surface)

Feature summary

Category Status
Table Operations Supported
Item CRUD (Put, Get, Delete, Update) Supported
Query and Scan Supported
Batch Operations (BatchGet, BatchWrite) Supported
Transactions (TransactWrite, TransactGet) Supported
Secondary Indexes (GSI, LSI) Supported
TTL Supported
Tags Supported
Export / Import Supported
Endpoints & Limits Stubbed (hardcoded values)
Backup & Restore Out of scope
Global Tables Out of scope
Kinesis Streams Out of scope
PartiQL Out of scope

See API Parity for a detailed compatibility matrix.

Quick start

using DynamoDbLite;

// File-based
using var fileClient = new DynamoDbClient(new DynamoDbLiteOptions(
    "Data Source=myapp.db"));

// In-memory (give the Data Source a unique name per logical database)
using var memoryClient = new DynamoDbClient(new DynamoDbLiteOptions(
    $"Data Source=app_{Guid.NewGuid():N};Mode=Memory;Cache=Shared"));

For dependency injection, use the AddDynamoDbLite extension:

services.AddDynamoDbLite(o => o.WithConnectionString("Data Source=myapp.db"));

See DI and Configuration for the full surface and Getting Started for the setup walkthrough including the in-memory test-isolation foot-gun.

Getting started

  • Getting Started — installation, configuration, first steps
  • Tutorial — hands-on walkthrough building a bookmarks store

Reference

Recipes

Internals

Clone this wiki locally