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
- In DBine, open New connection.
- Pick Amazon DynamoDB in the list of engines.
- Fill in the fields below, press Test connection and then Save.
General
| Field | Description |
|---|---|
| Region | If left empty, the one from the profile or AWS_REGION is used. Example: us-east-1 |
| Authentication | The default chain uses environment variables, ~/.aws, SSO or the instance role. Options: AWS default chain, ~/.aws profile, Access keys Default: AWS default chain |
| Profile | Example: defaultOnly with Authentication: ~/.aws profile. |
| Access key ID | Only with Authentication: Access keys. |
| Secret access key | Kept in the system keychain, never in DBine's files. Only with Authentication: Access keys. |
| Session token | Temporary credentials only. Kept in the system keychain, never in DBine's files. Only with Authentication: Access keys. |
| Read-only | On or off. |
Advanced
| Field | Description |
|---|---|
| Custom endpoint | For local emulators. Empty = the region's AWS endpoint. Example: http://localhost:8000 |
What the explorer shows
The objects appear right under the connection:
- Tables
- Secondary indexes
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:
- New global secondary index
- New table (CreateTable JSON)
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.