All posts
Data Platform

DynamoDB Bulk Put Items: Loading S3 Files Into Existing Tables, and When to Use It

By

November 9, 2026

5 min read

Since November 5, 2026, DynamoDB can write data from files in S3 into a table that already exists, with a condition per item, billed by the gigabyte written rather than by write requests. How it compares with Import from S3 (new tables only) and with BatchWriteItem from your own code, what AWS has and hasn't said about capacity, and what to test before a production backfill.

DynamoDB
Data Migration
AWS News

Until this month, getting a large file into an existing DynamoDB table meant writing your own loader: a Lambda, a Glue job or a script calling BatchWriteItem, with retries, throttling and a record of what failed. Import from S3 existed, but only into a new table. Bulk put items is the managed version for tables already in use.

Bulk put items

Import from S3

BatchWriteItem from your code

Target

An existing table

A new table only

Any table

Conditions per item

Yes: insert-only or version-guarded writes

No

No: use PutItem or TransactWriteItems for conditions

Billing

GB written to the table and its indexes, 1 KB minimum per item; Accelerated tier at a higher rate

GB of uncompressed source data

Write request units (on-demand) or capacity (provisioned)

You run

Nothing

Nothing

The loader, retries and failure tracking

Available

All commercial Regions and GovCloud (US); Accelerated in fewer Regions

All commercial Regions

Everywhere

From AWS's announcement of November 5, 2026 and the DynamoDB pricing page.

Good uses

  • Daily or weekly refreshes from a data pipeline into a serving table.

  • Backfilling a new attribute or a new index's keys across existing items.

  • Migrations where the target table is already live, using insert-only conditions so newer writes from the application aren't overwritten.

  • Large catalog or reference-data updates.

Check before a production run

  • Capacity: the announcement doesn't say whether bulk put draws on the table's throughput or how it interacts with live traffic. Run it against a copy at production size and watch latency and throttling.

  • Indexes: billing counts bytes written to secondary indexes too, so a table with three indexes that project everything costs roughly four times the data size.

  • Small items: with a 1 KB minimum, a million 200-byte items bill as a gigabyte.

  • Failures: find out how failed items and failed conditions are reported, and keep the run idempotent so it can be repeated.

  • Price: compare the per-GB rate on the pricing page with what the same writes cost as write requests; for many small items on-demand writes may be close.

Planning a backfill or migration into DynamoDB?

We'll go through the data, indexes and conditions with you before the first run. 30 minutes, free.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of November 9, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.