Import Items Into a Table

Use Add / Import Items to validate a source and write items to a selected destination table. The import runs as a background job after review passes.

Choose a source

  1. Open the destination table.
  2. Select Add Item.
  3. Select a source.
  4. Confirm the destination profile and table.
SourceRequired input
EditorA JSON array of item objects.
FileA local .json or .csv file.
S3A source profile, S3 object ARN, bucket Region, and JSON or CSV format.
DynamoDBA source profile and source table ARN.

The source and destination can use different AWS profiles. A DynamoDB source cannot be the same profile and table ARN as the destination.

Dynomate Add and Import Items dialog after a DynamoDB source passes review
Review the source, destination, key compatibility, and item count before the write starts.

Prepare JSON or CSV

JSON

The root value must be an array. Every array entry must be an object. Each item must contain the destination partition key and, when present, the destination sort key.

DynamoDB AttributeValue wrappers are optional. Dynomate accepts normal JSON values and DynamoDB JSON values in the same item.

Normal JSON

[
  {
    "pk": "ORDER#1001",
    "amount": 42.5,
    "paid": true,
    "customer": { "name": "Asha" }
  }
]

DynamoDB AttributeValue JSON

[
  {
    "pk": { "S": "ORDER#1001" },
    "amount": { "N": "42.5" },
    "paid": { "BOOL": true },
    "tags": { "SS": ["paid", "priority"] }
  }
]

Use normal JSON for strings, numbers, booleans, maps, lists, and null. Use AttributeValue wrappers such as SS, NS, BS, or B for sets and binary values. Each wrapper must contain exactly one DynamoDB type key. Do not wrap the item in an Item envelope.

CSV

  • The file must have a header row.
  • Header names must be unique.
  • Required key attributes must be present.
  • All non-empty values are imported as strings.
  • Empty cells are omitted from the item.

Use JSON when the items contain numbers, booleans, maps, lists, sets, binary values, or null values. Dynomate does not map or rename attributes during import.

Choose conflict behavior

  • Overwrite existing items: Replaces a destination item that has the same key with the complete incoming item.
  • Skip existing items: Leaves a matching destination item unchanged and counts it as skipped.

Skip mode uses a conditional put for each item. It can require more requests and more time than overwrite mode.

Duplicate keys inside the import source block the import. Conflict behavior applies only to keys that already exist in the destination table.

Review and start

  1. Select Review import.
  2. Correct all blocking issues.
  3. Review any warnings.
  4. Select Start import.

Review reads and parses the source. It checks required key names and types, malformed input, duplicate source keys, and an identical DynamoDB source and destination. Review does not write to the destination table.

Review does not list keys that already exist in the destination table. Dynomate applies the selected conflict behavior while the job writes items.

Monitor or cancel

The table view shows the job state and the processed, written, skipped, and failed item counts. States are Queued, Running, Cancelling, Cancelled, Completed, and Failed.

The import runs in the background after it starts. You can change tabs and continue other tasks while the job runs. Return to the destination table to review progress or request cancellation.

Cancel does not roll back writes

Cancel stops future writes. Items that were already written remain in the destination table. A failed or cancelled import can leave a partial import.

Restrictions

  • Only one active import can run for a destination table.
  • An import and a truncate job cannot run at the same time on the same table.
  • A DynamoDB table source is read with a full table scan.
  • Source items must already use the destination key attribute names and compatible key types.
  • DynamoDB item size, key, and attribute restrictions still apply.
  • A started import is not part of staged changes and cannot be committed with Review Changes.

AWS permissions

Destination table:

  • dynamodb:DescribeTable
  • dynamodb:BatchWriteItem for overwrite mode
  • dynamodb:PutItem for skip mode

S3 source:

  • s3:GetObject on the selected object
  • kms:Decrypt when the object uses an AWS KMS key

DynamoDB source:

  • dynamodb:Scan on the source table