Two-way sync
Changes in Amazon DynamoDB or Amazon S3 instantly reflect in both systems. No stale data, no manual imports.
Keep Amazon DynamoDB and Amazon S3 in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.
A database holds structured records; a storage system holds the files those records depend on, such as contracts, images, exports, uploads, and documents. The two describe the same things from opposite sides: a row in Amazon DynamoDB says a file exists and carries its name, location, and status, while Amazon S3 holds the bytes. Linked only by a hand-kept path or a one-off script, the two drift the moment a file is renamed, moved, or deleted and the record still points at where it used to be.
Stacksync syncs Local secondary indexes (LSIs), DynamoDB Streams, Global Tables, Time to Live (TTL) in Amazon DynamoDB with Multipart uploads, Buckets, Objects, Object metadata in Amazon S3 bi-directionally and in real time. File attributes, including name, path or object key, size, type, modified time, owner, and tags or custom properties, map field by field to columns on the matching row, and a change on either side shows up on the other within seconds. New files appear as rows, metadata edits travel in the direction you choose, and deletes stay consistent, with conflict rules you set in place of nightly reconciliation scripts.
Files that arrive in a folder or bucket in Amazon S3 become rows in Amazon DynamoDB as they land, so a database-driven process can pick them up without polling the storage system's API.
Rows from Amazon DynamoDB are written out to Amazon S3 as files on a schedule or as they change, giving a durable, low-cost copy for backup, compliance, or a data lake, without a custom export job to maintain.
Every file or object in Amazon S3 shows up as a row in Amazon DynamoDB, with its name, folder or key, size, type, and modified date as columns, so the contents of the store can be listed, filtered, and joined like any other table.
Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.
| Amazon DynamoDB objects | Amazon S3 objects | How this pairing syncs | |
|---|---|---|---|
| Local secondary indexes (LSIs) Extra sort keys within the same partition key, defined at table creation; queried like the base table for alternate access patterns. | Prefixes (folders) Logical path segments in object keys used to scope a sync and to parallelize throughput, since S3 rate limits partition by prefix. | Local secondary indexes (LSIs) is specific to Amazon DynamoDB and Prefixes (folders) to Amazon S3 — each maps to any object or custom field on the other side. | |
| DynamoDB Streams Ordered item-level change records (INSERT, MODIFY, REMOVE) with old/new image views and 24-hour retention; the native change-data-capture source Stacksync reads for near-real-time sync. | Multipart uploads In-progress large-object uploads assembled from parts; objects above ~100 MB (required above 5 GB) are written this way, and incomplete uploads persist until completed or aborted. | DynamoDB Streams is specific to Amazon DynamoDB and Multipart uploads to Amazon S3 — each maps to any object or custom field on the other side. | |
| Global Tables Multi-region, active-active replicas of a table kept in sync by DynamoDB; each region is read and written locally with last-writer-wins conflict resolution. | Buckets Top-level, region-scoped containers that hold objects; enumerated to discover the namespaces and prefixes a sync should cover. | Global Tables is specific to Amazon DynamoDB and Buckets to Amazon S3 — each maps to any object or custom field on the other side. | |
| Time to Live (TTL) Per-item expiry timestamps; DynamoDB deletes expired items in the background and emits a Streams REMOVE record for each deletion. | Objects Files stored under a key; content is read with GET and written with PUT, and each object's key/size/ETag/LastModified is the unit indexed into a database. | Time to Live (TTL) is specific to Amazon DynamoDB and Objects to Amazon S3 — each maps to any object or custom field on the other side. | |
| Tables Top-level containers, each with a partition key and optional sort key; Stacksync syncs a table as a stream of items with full read and write via PutItem, UpdateItem, and DeleteItem. | Object metadata System metadata (Content-Type, size, ETag, LastModified) plus user-defined x-amz-meta-* headers; user metadata is fixed at write time and only changeable by rewriting the object. | Tables is specific to Amazon DynamoDB and Object metadata to Amazon S3 — each maps to any object or custom field on the other side. | |
| Items Individual schemaless records (attributes up to 400 KB each); read with GetItem, Query, and Scan and written with PutItem or BatchWriteItem, so write is supported here. | Object tags Up to 10 key-value tags per object, mutable in place via the tagging API independent of content, so classification and retention labels sync two-way without rewriting files. | Items is specific to Amazon DynamoDB and Object tags to Amazon S3 — each maps to any object or custom field on the other side. |
Each direction of the sync is driven by what the source system can signal and what the destination accepts — detection, delivery, and expected latency below.
DetectionChanges in Amazon DynamoDB are captured at the source via change data capture — no polling loop against its API. DynamoDB Streams emit ordered item-level change records (INSERT, MODIFY, REMOVE) with KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, or NEW_AND_OLD_IMAGES views.
DeliveryEach detected change is written to Amazon S3 through its API, with automatic retries and rate-limit backoff.
DetectionAmazon S3 notifies Stacksync of record changes through webhook events. S3 Event Notifications push object-created, object-removed, and object-tagging events to SNS, SQS, Lambda, or EventBridge.
DeliveryEach detected change is applied to Amazon DynamoDB as a row-level write, with types converted between the two schemas.
Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Amazon DynamoDB–Amazon S3 connection.
Changes in Amazon DynamoDB or Amazon S3 instantly reflect in both systems. No stale data, no manual imports.
Trigger automated workflows whenever Amazon DynamoDB or Amazon S3 data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.
Handle millions of events per minute without losing a single Amazon DynamoDB or Amazon S3 record.
Track your Amazon DynamoDB ⇄ Amazon S3 sync health, view errors, and replay failed events in one click.
Transform legacy EDI complexity into simple database interactions between Amazon DynamoDB and Amazon S3.
Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.
Authenticate Amazon DynamoDB and Amazon S3 with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.
Pick the Amazon DynamoDB and Amazon S3 objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.
Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.
Yes. Stacksync provides a managed, real-time two-way integration between Amazon DynamoDB and Amazon S3: authenticate both systems, choose the objects to sync (such as Amazon DynamoDB's Local secondary indexes (LSIs) and DynamoDB Streams), map fields visually, and changes propagate both ways in milliseconds — no code required.
Change detection on Amazon DynamoDB: DynamoDB Streams emit ordered item-level change records (INSERT, MODIFY, REMOVE) with KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, or NEW_AND_OLD_IMAGES views and 24-hour retention, read via shard iterators (or Kinesis Data Streams for longer retention). No native HTTP webhooks. On Amazon S3: S3 Event Notifications push object-created, object-removed, and object-tagging events to SNS, SQS, Lambda, or EventBridge; there is no modified-since query, so polling relies on each object's LastModified from ListObjectsV2. Each detected change propagates to the other side in milliseconds, with field-level conflict resolution and an inspectable event log.
On the Amazon DynamoDB side: Local secondary indexes (LSIs), DynamoDB Streams, Global Tables, Time to Live (TTL), plus custom fields where Amazon DynamoDB exposes them. On the Amazon S3 side: Multipart uploads, Buckets, Objects, Object metadata. Stacksync auto-detects both schemas and converts types between the two systems.
Yes. Each object mapping can be bidirectional or restricted to a single direction (both systems accept writes). Read-only mirrors, one-way pushes, and full two-way sync can be mixed in the same integration.
Common patterns for Amazon DynamoDB and Amazon S3: A landing zone for incoming files; Continuous archival to file storage; A queryable index of the file store. Files that arrive in a folder or bucket in Amazon S3 become rows in Amazon DynamoDB as they land, so a database-driven process can pick them up without polling the storage system's API.
Amazon DynamoDB: AWS SDK / low-level HTTPS JSON API at dynamodb.<region>.amazonaws.com (PutItem, GetItem, UpdateItem, DeleteItem, Query, Scan, BatchWriteItem, TransactWriteItems), plus PartiQL (ExecuteStatement) for SQL-style access and DynamoDB Streams for change capture. Authentication: AWS Signature Version 4 (SigV4) signed requests using an IAM access key ID and secret key, or temporary STS credentials from an assumed IAM role; IAM policies scope access down to table and item level. Amazon S3: S3 REST API (also via AWS SDKs and the S3-compatible endpoint). Authentication: AWS IAM credentials — an access key ID and secret access key signed with AWS Signature Version 4; supports temporary STS credentials and cross-account IAM roles. Stacksync manages authentication, retries, and rate limits on both sides.
As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.
Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.
Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.
Securely connects to your systems with:
Every pair below is a real-time, two-way sync. Search all 529 integrations available for Amazon DynamoDB and Amazon S3.