Creating a table
Create a DynamoDB table with keys, indexes, TTL, tags, billing mode and deletion protection.
The create-table dialog builds a full DynamoDB table — keys, capacity mode, TTL, tags, deletion protection and secondary indexes — in a single step.
Opening the dialog
Open it from the New table button at the top of the table list, the welcome screen action, or Ctrl+N.
Region and name
- Region — defaults to your current region; you can target any of the five supported regions.
- Name — the table name. Required.
Keys
DynamoDB tables need a partition key and optionally a sort key.
| Key | Notes |
|---|---|
| 🔑 Partition key (PK) | Required. Name + type. |
| 🔸 Sort key (SK) | Optional — tick the sort key box to enable it. Name + type. |
Each key has a scalar type:
S → String
N → Number
B → Binary
Capacity mode
Choose how the table is billed (each option has an info tooltip):
- On-demand (
PAY_PER_REQUEST) — default; pay per request, no capacity to manage. - Provisioned — you set RCU and WCU (read/write capacity units, minimum 1 each). The fields only appear in this mode, and they also apply to any provisioned secondary indexes you add.
TTL
Enter a TTL attribute name to enable time-to-live. Items whose attribute holds a past Unix epoch (in seconds) are automatically deleted by DynamoDB. Leave it blank to skip TTL. Tablyne creates the table first, waits for it to become ACTIVE, then enables TTL on that attribute (instant on DynamoDB Local; asynchronous on AWS).
Deletion protection
Tick 🔒 deletion protection to block DeleteTable until it’s turned off again. You can change this later in table settings.
Tags
Add any number of key/value tags. Rows with a blank key are dropped on save; values may be empty.
Secondary indexes (GSIs)
You can declare Global Secondary Indexes up front. Click add GSI for each one and fill in:
| Field | Notes |
|---|---|
| Index name | Required, must be unique within the table |
| 🔑 pk + type | Required partition key for the index |
| 🔸 sk + type | Optional sort key (tick sort key) |
| Projection | ALL, KEYS_ONLY, or INCLUDE |
| Include attributes | Comma-separated non-key attributes (only when projection is INCLUDE) |
| RCU / WCU | Per-index throughput, shown only for provisioned tables |
Because the table starts empty, there’s no backfill — index keys populate naturally as you write items. Index key attributes are added to the table’s attribute definitions automatically, de-duplicated against the base keys (so reusing the base PK as a GSI key doesn’t error).
Validation
The Create button stays disabled until the form is valid:
- Name and partition key are filled in (and sort key, if enabled).
- Every started GSI row has both a name and a partition key.
- No two GSIs share a name (a “duplicate index name” warning appears otherwise).
Creating
Click Create. On success the dialog closes and the table list refreshes with the new table. Errors from AWS (invalid name, throughput limits, etc.) are shown inline.
What you can’t set here
Key schema (PK/SK names and types) is fixed at creation — DynamoDB can’t change it later. To restructure keys you create a new table and migrate. You can add or drop GSIs on an existing table afterwards — see Indexes & GSIs — and edit capacity, TTL, streams and protection in table settings.
Background: the create-table learn guide.