Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

DynamoDB operations

Every DynamoDB operation Overcast declares — 21 of 28 implemented — with status, behaviour notes and a link to the AWS API reference for each.

21 of 28 listed operations are implemented. Back to DynamoDB.

Summary

Category✅ Supported❌ Unsupported
Table management71
Item operations6
Query & scan2
Transactions2
Tags3
Streams interoperability1
Global tables6

Endpoints

Table management

OperationStatusNotesAWS Docs
CreateTable✅ SupportedIncludes GSI/LSI definitions; an omitted BillingMode defaults to PROVISIONED, which requires ProvisionedThroughput on the table and on every GSI, while PAY_PER_REQUEST rejects itdocs
DeleteTable✅ Supporteddocs
DescribeTable✅ Supporteddocs
ListTables✅ SupportedRegion-scoped — lists only tables in the request’s region; Limit (default/max 100) and ExclusiveStartTableName honored; LastEvaluatedTableName echoed when more tables remaindocs
UpdateTable✅ SupportedBillingMode, ProvisionedThroughput, GSI create/delete/update-throughput, AttributeDefinitions, StreamSpecificationdocs
DescribeTimeToLive✅ SupportedReports all four TimeToLiveStatus values — a change is ENABLING/DISABLING until it settles; AttributeName is omitted only once the table has settled on DISABLEDdocs
UpdateTimeToLive✅ SupportedTTL-based item expiry, with the sweeper deleting expired items hourly once the status reaches ENABLED; the change is asynchronous as on AWS, and both members of TimeToLiveSpecification are required (AttributeName 1..255). A second UpdateTimeToLive inside the transition window, re-enabling an ENABLED table (renaming the attribute included) and disabling a DISABLED one are each a ValidationException, so the attribute name only changes by disabling first. Overcast settles in 30 seconds where AWS takes up to an hourdocs
RestoreTableFromBackup❌ Unsupporteddocs

Item operations

OperationStatusNotesAWS Docs
PutItem✅ SupportedIncludes ConditionExpression, ReturnValues (ALL_OLD); key attributes must be present and carry their declared AttributeDefinitions type, while non-key attributes stay schemaless; records AWS/DynamoDB CloudWatch metrics SuccessfulRequestLatency, ConsumedWriteCapacityUnits, UserErrors/SystemErrors; a reserved word used as a bare attribute name in an expression is rejected, as AWS does — reach it through ExpressionAttributeNamesdocs
GetItem✅ SupportedIncludes ProjectionExpression; a Key must name exactly the key schema’s attributes with their declared types; records SuccessfulRequestLatency, ConsumedReadCapacityUnits, UserErrors/SystemErrors; a reserved word used as a bare attribute name in an expression is rejected, as AWS does — reach it through ExpressionAttributeNamesdocs
UpdateItem✅ SupportedSET/REMOVE/ADD/DELETE clauses; all ReturnValues variants; upsert; a Key must name exactly the key schema’s attributes with their declared types; records SuccessfulRequestLatency, ConsumedWriteCapacityUnits, UserErrors/SystemErrors; a reserved word used as a bare attribute name in an expression is rejected, as AWS does — reach it through ExpressionAttributeNamesdocs
DeleteItem✅ SupportedConditionExpression, ReturnValues (ALL_OLD); a Key must name exactly the key schema’s attributes with their declared types; records SuccessfulRequestLatency, ConsumedWriteCapacityUnits, UserErrors/SystemErrors; a reserved word used as a bare attribute name in an expression is rejected, as AWS does — reach it through ExpressionAttributeNamesdocs
BatchGetItem✅ SupportedUp to 100 items across tables; every key is checked against its table’s key schema before any read; records SuccessfulRequestLatency/ConsumedReadCapacityUnits per table toucheddocs
BatchWriteItem✅ SupportedUp to 25 put/delete operations; every item and key is checked against its table’s key schema before any write is applied; records SuccessfulRequestLatency/ConsumedWriteCapacityUnits per table toucheddocs

Query & scan

OperationStatusNotesAWS Docs
Query✅ SupportedKeyConditionExpression (values type-checked against the declared key types), FilterExpression, Limit (applied before FilterExpression per AWS semantics), ExclusiveStartKey/LastEvaluatedKey pagination, ScanIndexForward, Select=COUNT; ConsistentRead=true on a GSI is rejected as AWS does; records SuccessfulRequestLatency and ConsumedReadCapacityUnits (with GlobalSecondaryIndexName when IndexName names a real GSI); a reserved word used as a bare attribute name in an expression is rejected, as AWS does — reach it through ExpressionAttributeNamesdocs
Scan✅ SupportedFilterExpression, Limit (applied before FilterExpression per AWS semantics), ExclusiveStartKey/LastEvaluatedKey pagination, parallel scan (Segment/TotalSegments), Select=COUNT; ConsistentRead=true on a GSI is rejected as AWS does; records SuccessfulRequestLatency and ConsumedReadCapacityUnits (with GlobalSecondaryIndexName when IndexName names a real GSI); a reserved word used as a bare attribute name in an expression is rejected, as AWS does — reach it through ExpressionAttributeNamesdocs

Transactions

OperationStatusNotesAWS Docs
TransactGetItems✅ SupportedUp to 100 items across tables; every key is checked against its table’s key schema; records SuccessfulRequestLatency/ConsumedReadCapacityUnits per table (2x weighted, matching AWS’s transactional-read capacity accounting)docs
TransactWriteItems✅ SupportedPut, Update, Delete, ConditionCheck; all-or-nothing; a key-schema mismatch is a ValidationException raised before anything is applied, not a cancellation reason; records SuccessfulRequestLatency/ConsumedWriteCapacityUnits per table (2x weighted, matching AWS’s transactional-write capacity accounting)docs

Tags

OperationStatusNotesAWS Docs
TagResource✅ SupportedMerges tags; max 50; validates key/value lengthsdocs
ListTagsOfResource✅ SupportedReturns tags as Key/Value arraydocs
UntagResource✅ SupportedRemoves specified keys; idempotent on missing keysdocs

Streams interoperability

OperationStatusNotesAWS Docs
GetShardIterator✅ SupportedTRIM_HORIZON, LATEST, AT/AFTER_SEQUENCE_NUMBERdocs

Global tables

OperationStatusNotesAWS Docs
CreateGlobalTable❌ UnsupportedOvercast emulates a single regiondocs
DescribeGlobalTable❌ UnsupportedOvercast emulates a single regiondocs
DescribeGlobalTableSettings❌ UnsupportedOvercast emulates a single regiondocs
ListGlobalTables❌ UnsupportedOvercast emulates a single regiondocs
UpdateGlobalTable❌ UnsupportedOvercast emulates a single regiondocs
UpdateGlobalTableSettings❌ UnsupportedOvercast emulates a single regiondocs