Importing & exporting items
Export loaded rows to JSON/JSONL/CSV/DynamoDB-JSON/PartiQL, and import with a dry-run.
Tablyne can export the items currently loaded in the grid to several formats, and import items from a file into a table with a dry-run preview first.
Exporting
Open the export menu (⭳ exportar) in the grid’s toolbar, pick a format, and click export. The file downloads named after the table (e.g. orders.json).
Export covers the rows currently loaded in the grid — the result of your active scan, query or PartiQL statement, after any quick-filter. It does not re-scan the whole table. To export everything, load everything first (turn on streaming with a high limit, or load more until done).
Formats
| Format | Extension | Shape |
|---|---|---|
| JSON | .json | Pretty-printed array of plain objects |
| JSON Lines | .jsonl | One compact JSON object per line |
| CSV | .csv | Header row from the union of all keys; nested values serialized as JSON, quoted/escaped as needed |
| DynamoDB JSON | .json | Array of items in attribute-value format ({"pk":{"S":"…"}}) |
| PartiQL INSERT | .sql | One INSERT INTO "table" VALUE {…} statement per item |
JSON and JSON Lines round-trip cleanly back through import. DynamoDB JSON is the format the AWS CLI and low-level SDK expect. The PartiQL export is handy for scripting replays or seeding another table. JSON Lines is the friendliest format for very large exports because it streams line by line and is easy to grep, split, or feed into other tools; plain JSON is nicer when you want a single human-readable file.
Importing
Open the import menu (⭱ importar). Choose a format (or leave it on auto-detect), tick dry-run to preview, and select a file.
Format detection
With auto-detect, Tablyne inspects the file:
- Starts with
[→ JSON array (and if the first element looks like attribute-value JSON, it’s treated as DynamoDB JSON and unmarshalled). - Starts with
{across multiple lines, each a JSON object → JSON Lines. - A single
{…}→ JSON. - Otherwise → CSV (first row is the header).
You can also force a specific format: JSON, JSON Lines, CSV, or DynamoDB JSON. Both JSON and JSONL importers detect and unmarshal attribute-value items automatically, so a DynamoDB-JSON file imports correctly even under the plain JSON setting.
Dry-run first
Dry-run is on by default. After you pick a file, Tablyne parses it and reports how many items were detected — for example dry-run: 1,240 items ready to import — without writing anything. Untick dry-run and import to actually write.
How the write works
Importing calls BatchWriteItem in batches of 25 items (shown as BatchWriteItem · 25/lote in the menu), retrying any unprocessed items, and reports how many were written. Imported items are PutItems, so:
- An imported item with an existing PK/SK overwrites the existing item (last-write-wins).
- Each item must contain the table’s key attributes, or DynamoDB rejects it.
CSV import deserves care: every cell comes in as a string, with no type inference — numbers and booleans become "123" and "true". Prefer JSON, JSON Lines or DynamoDB JSON when types matter.
Native S3 import
For large datasets, the import menu also offers from S3 (native, ImportTable), which uses DynamoDB’s server-side ImportTable to create a new table from an S3 export — no items flow through your machine. See /docs/s3-import-export/.
Limitations to keep in mind
- Export only sees loaded rows, not the full table.
- Import is
BatchWriteItem(PutItemsemantics): existing items are overwritten, and there’s no conditional/merge — it never does partial updates. - CSV import keeps everything as strings. Use a JSON-based format to preserve numbers, booleans and nested structures.