Esc

DynamoDB

Overview

Amazon DynamoDB is a fully managed, serverless NoSQL key-value and document database. It stores schemaless items in tables keyed by a partition key (and an optional sort key), scales automatically, and delivers single-digit millisecond latency. DynamoDB runs only on AWS, with a local emulator (DynamoDB Local) available for development.

Driver

Arris connects with the official aws-sdk-dynamodbcrate over the DynamoDB JSON API. Queries are issued as PartiQL, DynamoDB's SQL-compatible dialect, through the ExecuteStatement operation.

Connection fields

FieldDescription
RegionAWS region the table lives in, such as us-east-1. Required unless supplied by the environment.
Access Key IDAWS access key id. Leave blank to use the default credential chain (environment, shared profile, or IAM role).
Secret Access KeyAWS secret access key paired with the access key id. Stored in the macOS Keychain.
Session TokenOptional temporary session token for STS or assumed-role credentials.
Endpoint URLOptional endpoint override, for example http://localhost:8000 to target DynamoDB Local or a VPC endpoint.

DynamoDB has no host, port, or database fields, and no connection URI. Configure the fields above directly. All connections also support an optional SSH tunnel; seeSSH tunnels for details.

Authentication

When you enter an access key id and secret access key, Arris uses them as static credentials (with the session token if provided). When those fields are blank, the AWS default credential chain is used, resolving credentials from environment variables, the shared~/.aws/credentials profile, or an attached IAM role. Connections always use TLS, so there are no SSL mode options.

textDynamoDB Local endpoint
http://localhost:8000

Schema browser

Once connected, Arris lists every table in the region. DynamoDB only declares its key attributes, so Arris samples a page of items per table to surface the rest. Each table node shows the following children:

Double-click any table to open it in a new tab with browse mode.

Query language

DynamoDB has no SQL surface, so Arris uses PartiQL for every statement. Write PartiQL directly in the editor; statements run through ExecuteStatement and read results page through DynamoDB's NextToken automatically. Result columns follow your SELECTprojection order, and ORDER BY (which PartiQL itself lacks) is applied by Arris over the full result set. Arris also accepts the familiar ANSI-styleINSERT INTO t (cols) VALUES (...) and translates it to PartiQL for you, and appliesUPDATE / DELETE with any WHERE (not only a full primary key).

sqlPartiQL examples
SELECT * FROM "orders" WHERE "customer_id" = 1
INSERT INTO "orders" VALUE {'order_id': 200, 'customer_id': 1, 'status': 'pending', 'amount': 42.00}
UPDATE "orders" SET "status" = 'shipped' WHERE "order_id" = 200
DELETE FROM "orders" WHERE "order_id" = 200

Supported PartiQL commands

CommandNotes
SELECTReads items from a table or index. Result columns follow the projection order and page automatically via NextToken.
INSERTAdds items. Both the native PartiQL VALUE document form and the standard INSERT INTO t (cols) VALUES (...) form (including multiple rows) are accepted.
UPDATEUpdates matching items. A full primary-key match runs directly; any other WHERE (a non-key or range condition) is applied by selecting the matching rows first, then updating each.
DELETEDeletes matching items, using the same full-key-or-match behavior as UPDATE.

Unsupported commands

CommandNotes
EXPLAINDynamoDB has no query planner, so plan output is not available.
JOINPartiQL on DynamoDB does not support joins across tables. Use federation mode to join a DynamoDB table with another source.
GROUP BY and aggregatesPartiQL has no GROUP BY or aggregate functions (COUNT, SUM, ...). Run these through federation mode, which aggregates in the query engine.
DDL (CREATE / DROP)Manage tables through the AWS console, CLI, or infrastructure tooling.