DynamoDB Local and LocalStack
Develop fully offline. Point DynamoOps at DynamoDB Local, LocalStack or any DynamoDB-compatible endpoint, with dummy credentials injected automatically.
Start a local DynamoDB
Run either emulator with Docker. Both expose a DynamoDB-compatible HTTP endpoint on your machine.
docker run -d --name dynamodb-local -p 8000:8000 \
amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb -inMemoryConnect from DynamoOps
- Open Quick Connect
Leave AWS Profile as
defaultand pick any region. Emulators ignore the region, but DynamoOps still uses it to label the connection. - Set the custom endpoint
Enter
http://localhost:8000for DynamoDB Local orhttp://localhost:4566for LocalStack. Tag the connection Local so the header badge makes it obvious. - Connect
The provider badge reads ⚡ LocalStack for any endpoint containing localhost, 127.0.0.1 or localstack. Everything else in the app works the same as against AWS.
default (or empty) and the endpoint host is localhost, 127.0.0.1, 0.0.0.0 or host.docker.internal, DynamoOps injects placeholder credentials so you can connect on a machine with no ~/.aws/credentials at all. A named profile is never overridden.What works and what does not
| Feature | Against a local endpoint |
|---|---|
| Browse, Scan, Query, PartiQL, item CRUD, import, export | Fully supported. |
| Create, truncate and delete tables, GSIs | Supported by both emulators. |
| Streams panel | Works with LocalStack when the dynamodbstreams service is enabled and the table has a stream. DynamoDB Local also supports streams. |
| Cost Analytics | Capacity figures depend on the emulator returning ConsumedCapacity. When it does not, operations are recorded at 0 units. |
| Table Dashboard CloudWatch charts | Unavailable. The dashboard shows table metadata only and a note that CloudWatch needs a real AWS region. |
| Assume Role and SSO | Not applicable; both flows always target real AWS endpoints. |
Seed data quickly
The fastest way to populate a local table is the Import flow: export a page of production data as JSON from another tab, then drag the file into ⬆ Import on the local table. Or create the table and insert a few items with PartiQL:
INSERT INTO "users" VALUE {'userId': 'usr_001', 'email': 'alice@example.com', 'status': 'active'}