Amazon DynamoDB with DBine

How to connect DBine to Amazon DynamoDB and what you can do once it's connected. This page is written from what the Amazon DynamoDB driver says about itself, so it matches the version of DBine you download.

Connect

  1. In DBine, open New connection.
  2. Pick Amazon DynamoDB in the list of engines.
  3. Fill in the fields below, press Test connection and then Save.

General

FieldDescription
RegionIf left empty, the one from the profile or AWS_REGION is used.
Example: us-east-1
AuthenticationThe default chain uses environment variables, ~/.aws, SSO or the instance role.
Options: AWS default chain, ~/.aws profile, Access keys
Default: AWS default chain
ProfileExample: default
Only with Authentication: ~/.aws profile.
Access key IDOnly with Authentication: Access keys.
Secret access keyKept in the system keychain, never in DBine's files.
Only with Authentication: Access keys.
Session tokenTemporary credentials only.
Kept in the system keychain, never in DBine's files.
Only with Authentication: Access keys.
Read-onlyOn or off.

Advanced

FieldDescription
Custom endpointFor local emulators. Empty = the region's AWS endpoint.
Example: http://localhost:8000

What the explorer shows

The objects appear right under the connection:

Query editor

The editor uses SQL, with completion for the connection's objects. Statements and commands run against the database selected in the tab.

What the editor accepts:

DynamoDB PartiQL, one statement per «;»:
SELECT * FROM "Orders" WHERE customer = 'ana' AND date > 20240101
SELECT * FROM "Orders"."byStatus" WHERE status = 'open'   (index query)
INSERT INTO "Orders" VALUE {'customer': 'ana', 'date': 20240102, 'items': [1, 2]}
UPDATE "Orders" SET status = 'closed' WHERE customer = 'ana' AND date = 20240102
DELETE FROM "Orders" WHERE customer = 'ana' AND date = 20240102

In addition to PartiQL, DBine understands these administration statements:
CREATE TABLE [IF NOT EXISTS] "Orders" { …CreateTable input as JSON… }
(AttributeDefinitions, KeySchema, BillingMode, ProvisionedThroughput, GlobalSecondaryIndexes,
LocalSecondaryIndexes, StreamSpecification, TableClass, DeletionProtectionEnabled, Tags and
TimeToLiveSpecification, which is applied once the table is active). Waits until it is ACTIVE.
DROP TABLE [IF EXISTS] "Orders"
CREATE INDEX "byStatus" ON "Orders" { "AttributeDefinitions": […], "KeySchema": […], "Projection": {…} }
(adds a global secondary index; without Projection, ALL is projected)
DROP INDEX "byStatus" ON "Orders"
CREATE BACKUP "weekly" FOR TABLE "Orders"   (on-demand backup; shows its ARN)
RESTORE TABLE "Orders_restored" FROM BACKUP "arn:aws:dynamodb:…"   (into a new table)
DROP BACKUP "arn:aws:dynamodb:…"

Ready-made templates for new objects:

Tools for Amazon DynamoDB

Available

  • Graphical execution plans
  • Server monitor
  • Index usage
  • Visual designer for new objects
  • Compare and sync schemas
  • Native bulk load when migrating data
  • Backups

Not available for Amazon DynamoDB

  • Live query profiler
  • Sessions and running queries
  • End a session
  • Locks: who blocks whom
  • Cancel another session's query from the sessions list
  • Manual transactions (commit and rollback)
  • Create databases
  • Drop databases
  • Database properties
  • Relations in the ER diagram
  • Rename objects
  • Clone tables
  • Users and permissions
  • Key search in the explorer

Why a tool doesn't apply to an engine, and the details of each one, are in the engine support reference.

Generated from the Amazon DynamoDB driver 0.1.9, which DBine downloads the first time you connect to Amazon DynamoDB.

Download DBineAll engines