Skip to content

Paid plans add features and fund TablePro’s development. Optional paid plans See plans

Amazon DynamoDB GUI

Browse items, query by keys and inspect consumed read capacity. Edit typed values or run PartiQL requests.

Works on MacDriver downloads on first use of Amazon DynamoDB

Included in Free; paid plans add optional featuresOpen source (AGPL-3.0)

A filtered DynamoDB read, with the status bar showing a Query on the byStatus index, 44 items returned and 1 read capacity unit consumed.

At a glance

Query language
PartiQL
Driver
Downloads on first use
Connect with
The service’s API
iPhone and iPad
Does not open

Connect

Choose an Auth Method and AWS Region. Use an access key with optional session token, an AWS CLI profile or AWS IAM Identity Center. Expired Identity Center sessions prompt for sign-in.

Profiles resolve credential_process helpers and role_arn chains, and expired temporary credentials are fetched again with the request retried once. Every request goes over HTTPS, signed with Signature Version 4, so there is no SSL setting and no SSH tunnel. A region in another AWS partition, such as China or the European Sovereign Cloud, reaches its own endpoint without a custom one.

For DynamoDB Local, run docker run -p 8000:8000 amazon/dynamodb-local and choose DynamoDB Local (no credentials); leave Custom Endpoint empty for port 8000. A custom endpoint may use plain HTTP only on this Mac. The setup guide lists the IAM actions each task needs.

Read, filter and edit items

Key filters use Query; other filters use Scan. Scans read the whole table and bill for every item read. The status bar shows the chosen operation, returned and scanned item counts, and consumed read capacity.

Sort-key filters use key conditions when supported. Other filters run after reading and do not reduce the bill. Nested paths such as address.city and items[0].sku are supported.

Clicking the sort key’s header on a Query of one partition makes DynamoDB return the items in that order. Any other sort is done in the grid when the read holds every matching item, and the status bar says when it does not. The next page continues where the last one stopped. The total under the grid is DynamoDB’s own item count; Count Exactly reads every item your filters match, and that read is billed in full.

A table declares only its keys, so columns come from the items: the key attributes, the attributes found in a sample of the table’s first items, and those on the page in view. Maps, lists and sets show as JSON and open in the JSON editor, and numbers keep every digit.

Each row saves as one PartiQL statement, with types preserved. Updates check changed attributes against their loaded values and refuse to overwrite concurrent changes. Set NULL removes the attribute.

The editor takes PartiQL, with double quotes around names and single quotes around strings, or a DynamoDB action name followed by its request JSON, such as Query, BatchWriteItem or TransactWriteItems. Any other action name is refused. Items come back in the grid and any other response as JSON. Throttled requests retry with backoff, and ⌘. stops a running statement.

Tables and indexes

New Table… opens a form for the partition and sort key, on-demand or provisioned capacity, the table class, deletion protection and secondary indexes, and Preview shows the CreateTable request before it is sent. A local secondary index can only be defined there, when the table is created.

In the Structure tab you add or drop a global secondary index, one change per save, because DynamoDB accepts one index change per UpdateTable request. Attributes are not edited there: write one to an item and it appears as a column. The DDL tab shows the CreateTable request that recreates the table, with its Time to Live and point-in-time recovery settings.

Table settings

Right-click a table and choose Maintenance for point-in-time recovery, deletion protection, the stream, the table class, switching to on-demand capacity and turning Time to Live off. Dropping a table sends DeleteTable, which fails while deletion protection is on.

Move data

There is no import for DynamoDB. Write items from the editor with a PartiQL INSERT or a BatchWriteItem request, which resends unprocessed items and reports any it could not write. Export a table or a result as CSV, JSON, SQL, XLSX, Markdown, HTML and XML from the Export dialog.

iPhone and iPad

The iPhone and iPad app has no Amazon DynamoDB driver. Amazon DynamoDB connections synced from a Mac appear in its list but do not open.

Limits

  • Each connection covers one AWS account in one region.
  • DAX endpoints are not supported, and Truncate is not offered.

Questions about Amazon DynamoDB

How do I keep a read from scanning the whole table?

Filter on the partition key with =, or on a global index’s partition key with a filter on each of its sort keys, and the read runs as a Query. A global index is used for browsing only when it projects every attribute, so query a keys-only index from the editor with a Query request that names its IndexName.

How do I change an item’s key?

A key attribute cannot be edited in place. Use Duplicate Row, which copies every attribute but the keys, give the copy its new key, save, then delete the original.

Are grid edits saved in one transaction?

No. Each changed row is written on its own. Put writes that must succeed together in an ExecuteTransaction or TransactWriteItems request in the editor.

Get TablePro

Download the Mac app for free. Starter and Team add optional features.
Download for Mac

Requires macOS 13 Ventura or later

See pricing