Reference · built on requestConnectorDatabases & warehouses

Amazon DynamoDB

Items, queries, and item-level change records from Amazon DynamoDB tables through its JSON API over HTTPS and DynamoDB Streams.

About

Amazon DynamoDB is a key-value and document database run by Amazon Web Services. Every call is an HTTPS POST to dynamodb.<region>.<domain> with a JSON body, an X-Amz-Target header naming the operation, such as DynamoDB_20120810.GetItem, and an AWS Signature Version 4 signature. Items are limited to 400 KB and use typed attribute descriptors: S, N, B, BOOL, NULL, M, L, SS, NS, and BS. When you enable a stream on a table, DynamoDB Streams records every item modification in order per item, keeps each record for 24 hours, and serves it from a separate streams.dynamodb.<region>.amazonaws.com endpoint.

An operator on Fibric reads items with GetItem, Query, and Scan, follows stream shards through GetShardIterator and GetRecords, and proposes writes for your approval, each with a receipt and an undo.

This is a reference listing. It documents what Fibric would read from Amazon DynamoDB and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Items by primary key with GetItem, or up to 100 items across tables with BatchGetItem
  • Items sharing a partition key with Query, paged by LastEvaluatedKey, and full-table reads with Scan
  • PartiQL SELECT statements through ExecuteStatement and BatchExecuteStatement
  • Stream records from DynamoDB Streams with KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, or NEW_AND_OLD_IMAGES views
  • Shard lineage from DescribeStream with ShardFilter, so child shards are read after their parent
  • Table description including LatestStreamArn from DescribeTable

Proposed actions

  • Target capability: propose a PutItem or UpdateItem with a condition expression, run once after approval
  • Target capability: propose a TransactWriteItems group of Put, Update, Delete, and ConditionCheck actions, all or nothing
  • Target capability: propose enabling a stream on a table with UpdateTable and a chosen StreamViewType

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Catch an order status change as it lands

    Enable a NEW_AND_OLD_IMAGES stream on the orders table and compare the before and after images to decide whether the change needs a person.

    With Order Risk, Anomaly Notice

  • Keep a low-stock watch on inventory items

    Query the inventory partition for a SKU, compare on-hand counts against the reorder point, and propose the next action with the items shown.

    With Stockout Forecast, Oversell Watch

  • Know when the stream reader falls behind

    Track the age of the latest record read from each shard and raise a notice before the 24-hour window trims records unread.

    With Integration Health, Data Freshness

Requirements

  • A DynamoDB table in an AWS Region and an IAM role or user permitted on its ARN
  • A stream enabled on the table with StreamEnabled true, for change records
  • Two clients, since DynamoDB and DynamoDB Streams use separate endpoints in the same Region
  • Provisioned or on-demand capacity sized for the reads; a Scan consumes capacity for every item evaluated
Authentication
An IAM identity, preferably a role with temporary credentials, whose policy grants the dynamodb: actions on the table and stream ARNs; requests are signed with AWS Signature Version 4.

Limits

  • Stream records last 24 hours; anything older is trimmed and cannot be replayed
  • No more than two processes should read one shard at a time, or requests are throttled; one reader for global tables
  • Ordering holds per item, not across a partition or table, and a PutItem that changes nothing writes no stream record
  • A single item is at most 400 KB, and a StreamViewType cannot be changed once the stream exists

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Amazon DynamoDB ↗

Questions and answers

How long are DynamoDB Streams records kept?
24 hours. Records older than that are subject to trimming at any moment, and there is no way to delete them earlier. If you disable a stream, its data remains readable for the same 24 hours.
Does DynamoDB guarantee ordering in a stream?
Per item. All modifications to the same primary key appear in the sequence they happened, and each record appears exactly once. Ordering is not guaranteed across different items, even within one partition.
Which API operations does the connector use?
GetItem, BatchGetItem, Query, Scan, and the PartiQL ExecuteStatement for reads; PutItem, UpdateItem, and TransactWriteItems for proposed writes; ListStreams, DescribeStream, GetShardIterator, and GetRecords on the streams endpoint.
Ask about Amazon DynamoDB

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.