DocsAWS 101BlogServices

DynamoDB

Key-value + document store — tables, indexes, TTL, transactions, streams, PartiQL.

JSON-RPC (X-Amz-Target) multi-tenant 24 operations

Quick start

import boto3
ddb = boto3.client("dynamodb", endpoint_url="http://localhost:4566",
                   region_name="us-east-1",
                   aws_access_key_id="test", aws_secret_access_key="test")
ddb.create_table(TableName="t",
    KeySchema=[{"AttributeName":"pk","KeyType":"HASH"}],
    AttributeDefinitions=[{"AttributeName":"pk","AttributeType":"S"}],
    BillingMode="PAY_PER_REQUEST")
ddb.put_item(TableName="t", Item={"pk":{"S":"k1"},"data":{"S":"v1"}})

Supported operations

24 operations exposed by this service as of MiniStack 1.3.14. Extracted directly from the handler dispatch in the source module.

BatchGetItem BatchWriteItem CreateTable DeleteItem DeleteTable DescribeContinuousBackups DescribeEndpoints DescribeTable DescribeTimeToLive ExecuteStatement GetItem ListTables ListTagsOfResource PutItem Query Scan TagResource TransactGetItems TransactWriteItems UntagResource UpdateContinuousBackups UpdateItem UpdateTable UpdateTimeToLive

CloudFormation

The CloudFormation engine provisions these resource types via this service:

AWS::DynamoDB::Table

See CloudFormation engine for intrinsic support and lifecycle details.

Known limitations

  • Streams can be enabled on a table, but no stream records are produced — downstream Lambda triggers will not fire.
  • Global tables return successful responses but do not replicate across regions (local state is shared across regions within an account anyway).

Source

  • ministack/services/dynamodb.py:187-247

Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.