Overview
Amazon DynamoDB is AWS's managed NoSQL key-value + document database. The Automize AWS DynamoDB connector covers item CRUD (Get/Put/Update/ Delete), Query + Scan, batch + transaction operations, and table lifecycle.
- Regions: DynamoDB is regional. Global Tables (multi-region replicas) need separate setup.
- Plans: On-demand (pay-per-request) or Provisioned (capacity units, with optional auto-scaling). Free tier 25 GB storage + 25 WCU/RCU.
Setting up the connection
Auth type: aws_sigv4.
- AWS Console → IAM → user with programmatic access.
- Attach AmazonDynamoDBFullAccess or scoped table-level permissions.
- In Automize, open Settings → Connectors → AWS DynamoDB → Add connection. Paste keys + region.
Find your credentials at https://us-east-1.console.aws.amazon.com/iam/home.
Rate limits
Per-table capacity. On-demand auto-scales; provisioned uses RCU (reads) + WCU (writes). Connector retries ProvisionedThroughputExceededException with backoff.
Data model
Items in tables – key-value model:
Table ─── Items ─── Attributes (key-value pairs, schemaless beyond the key)
├─ Partition Key (required, hashable)
├─ Sort Key (optional, range within partition)
├─ Secondary Indexes (GSI: alt partition key, LSI: alt sort key)
└─ Streams (change data capture, optional)Available operations
15 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Batch Get Item | General | Get multiple items from one or more tables |
| Batch Write Item | General | Put or delete multiple items across tables |
| Create Table | General | Create a new DynamoDB table |
| Delete Item | General | Delete an item by primary key |
| Delete Table | General | Delete a DynamoDB table |
| Describe Table | General | Get table metadata and status |
| Get Item | General | Get an item by primary key |
| List Tables | General | List all DynamoDB tables |
| Put Item | General | Create or replace an item in a table |
| Query | General | Query items using key conditions and optional filters |
| Scan | General | Scan all items in a table with optional filters |
| Transact Get Items | General | Atomic read transaction across multiple items |
| Transact Write Items | General | Atomic write transaction across multiple items |
| Update Item | General | Update attributes of an item |
| Update Table | General | Update table settings (throughput, GSI, etc.) |
Operations
Batch Get Item
Get multiple items from one or more tables
No input parameters.
Tips
- Up to 100 items across multiple tables. Returns UnprocessedKeys to retry.
Batch Write Item
Put or delete multiple items across tables
No input parameters.
Tips
- Up to 25 put/delete ops across tables in one call. NOT atomic – partial success possible.
Create Table
Create a new DynamoDB table
No input parameters.
Tips
- TableName + KeySchema (PK + optional SK) + AttributeDefinitions + BillingMode (PAY_PER_REQUEST or PROVISIONED).
- GlobalSecondaryIndexes[] for additional access patterns.
Delete Item
Delete an item by primary key
No input parameters.
Tips
- By primary key. ConditionExpression for safe deletes.
Delete Table
Delete a DynamoDB table
No input parameters.
Tips
- Hard-delete. Items + indexes + streams all gone. Cannot be undone.
Describe Table
Get table metadata and status
No input parameters.
Tips
- Returns full table metadata – key schema, indexes, throughput settings, item count, status.
Get Item
Get an item by primary key
No input parameters.
Tips
- TableName + Key (full primary key – PK + SK if composite).
- ProjectionExpression to fetch only some attributes.
- ConsistentRead=true for strongly-consistent reads (2× cost).
List Tables
List all DynamoDB tables
No input parameters.
Tips
- Returns table names. Pages 100 per call.
Put Item
Create or replace an item in a table
No input parameters.
Tips
- Replaces the entire item if PK matches. ConditionExpression for optimistic locking.
- Each attribute typed: {S: 'string'}, {N: '123'}, {BOOL: true}, etc.
Query
Query items using key conditions and optional filters
No input parameters.
Tips
- Key-only query – uses partition key (and optional sort key range). FAST.
- KeyConditionExpression: '#pk = :pk AND #sk BETWEEN :a AND :b'.
- Use GSI for alternative access patterns: IndexName='YourGSI'.
Scan
Scan all items in a table with optional filters
No input parameters.
Tips
- Reads entire table. SLOW + expensive for big tables.
- FilterExpression filters AFTER scan (doesn't save capacity).
- Only use for small tables or one-off jobs – design for Query.
Transact Get Items
Atomic read transaction across multiple items
No input parameters.
Tips
- Atomic read across up to 100 items. 2× cost vs Get.
Transact Write Items
Atomic write transaction across multiple items
No input parameters.
Tips
- Atomic write across up to 100 items. All succeed or all fail. 2× cost vs Put.
Update Item
Update attributes of an item
No input parameters.
Tips
- Partial update via UpdateExpression: 'SET attr = :val ADD count :inc'.
- Preferred over Put when you don't want to replace the whole item.
Update Table
Update table settings (throughput, GSI, etc.)
No input parameters.
Tips
- Modify throughput, add/remove GSI, enable streams.
- Throughput updates take minutes to provision.
FAQ
- On-Demand vs Provisioned?
- On-Demand: pay per request, auto-scales, simpler, costs more per request. Provisioned: cheaper per request but you pay even idle, capacity caps, can throttle. Use On-Demand unless steady high traffic.
- Query vs Scan?
- Query is by partition key (or GSI key) – uses index, fast, cheap. Scan reads the whole table – slow, expensive. Design tables so Query covers your access patterns.
- Eventual vs strong consistency?
- Eventual (default): may return stale data for ~1 sec, 1× cost. Strong (ConsistentRead=true): always latest, 2× cost. Cross-region/GSI reads are always eventual.
- Why is my Put-Item silently overwriting?
- Put replaces by key. Use Update Item (partial) or add ConditionExpression: 'attribute_not_exists(pk)' to fail if key exists.