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.
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.
From AWS's announcement of November 5, 2026 and the DynamoDB pricing page.
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.
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.
We'll go through the data, indexes and conditions with you before the first run. 30 minutes, free.
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.
Book a free 30-minute call about it. Bring your setup and your bill; you'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.
Or keep reading
Prime Day 2026 on AWS by the Numbers, and What They Tell the Rest of Us
DynamoDB peaked at 192 million requests a second, Lambda ran 2.3 trillion invocations a day, ECS and Fargate ran 158 million tasks a day, Graviton powered 49% of Amazon.com's EC2 compute and Amazon ran more than 44,000 fault-injection experiments beforehand. What those numbers say for teams a millionth of the size.
Read
DynamoDB vs Postgres, Measured in AWS: 53 Workloads From the Same Client
We ran 53 workloads against RDS Postgres 17 and DynamoDB from one Fargate task in the same Availability Zone, at 100,000, 1 million and 5 million orders. Key lookups took 0.35 ms in Postgres and 2.7 ms in DynamoDB; a two-item transaction 1.75 ms against 20 ms; a question nobody designed for, 0.08–2.7 s against a full table scan. The full results, with the method and every caveat.
Read
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.