Tier 1
95.8%
Tier 2
87.9%
Tier 3
72.0%
Fully supports
Operation areas this target implements completely — every test passes, nothing skipped. Areas it only partly implements, or gets wrong, are in “Where it falls short” below.
- batchGetItem tier 1
- batchWriteItem tier 1
- createTable tier 1
- deleteItem tier 1
- deleteTable tier 1
- describeTable tier 1
- getItem tier 1
- listTables tier 1
- putItem tier 1
- account tier 2
- contributorInsights tier 2
- kinesis tier 2
- resourcePolicy tier 2
- streams tier 2
- ttl tier 2
- updateTable tier 2
- legacy-api tier 3
Conformance over time
Where it falls short
Operation groups with gaps in the latest run, biggest first. Unsupported means the target doesn't implement that feature at all, often by design. Open one for the exact tests, or see the conformance suite.
-
error-messages Tier 3 48 failing
View these tests in the suite →- BatchGetItem — exact error messages empty RequestItems: full required-parameter error
- BatchGetItem — exact error messages > 100 keys across all tables: interpolated full error
- BatchGetItem — exact error messages non-existent table: full ResourceNotFoundException message
- BatchWriteItem — exact error messages empty RequestItems: full required-parameter error
- BatchWriteItem — exact error messages > 25 requests: anchored regex on the constraint phrase
- BatchWriteItem — exact error messages non-existent table: full ResourceNotFoundException message
- CreateTable — exact error messages missing TableName: full required-parameter error
- CreateTable — exact error messages short table name (2 chars): minimum length 3 error
- CreateTable — exact error messages duplicate attribute in KeySchema
- CreateTable — exact error messages more than 2 KeySchema elements
- CreateTable — exact error messages invalid KeyType
- CreateTable — exact error messages invalid AttributeType
- CreateTable — exact error messages LSI without range key on base table
- CreateTable — exact error messages duplicate index names
- DeleteItem — exact error messages non-existent table: full ResourceNotFoundException message
- GetItem — exact error messages non-existent table: full ResourceNotFoundException message
- GetItem — exact error messages invalid ProjectionExpression syntax: full parser error
- PutItem — exact error messages empty table name: minimum length 1 error
- PutItem — exact error messages table name too long (256 chars): maximum length 255 error
- PutItem — exact error messages duplicate values in SS: full duplicates error
- PutItem — exact error messages NULL attr with false: full null-attribute error
- PutItem — exact error messages ExpressionAttributeValues without expression: full unused-EAV error
- PutItem — exact error messages redundant parentheses in ConditionExpression: full error string
- PutItem — exact error messages contains() with duplicate path and operand: full distinct-operand error
- Query — exact error messages invalid Select value
- Query — exact error messages Limit of 0
- Query — exact error messages empty KeyConditionExpression
- Query — exact error messages filter references undefined ExpressionAttributeNames
- Query — exact error messages redundant parentheses in KeyConditionExpression: full error string
- Query — exact error messages malformed ExclusiveStartKey: short invalid-starting-key error
- Scan — exact error messages Segment without TotalSegments: full required-parameter error
- Scan — exact error messages Segment >= TotalSegments: full out-of-range error
- Scan — exact error messages TotalSegments without Segment: full required-parameter error
- Scan — exact error messages non-existent table: full ResourceNotFoundException message
- Scan — exact error messages begins_with with non-string operand: full operand-type error
- Scan — exact error messages redundant parentheses in FilterExpression: full error string
- Scan — exact error messages malformed ExclusiveStartKey: long schema-mismatch error
- TransactGetItems — exact error messages > 100 gets: anchored regex on the constraint phrase
- TransactGetItems — exact error messages non-existent table: full ResourceNotFoundException message
- TransactGetItems — exact error messages invalid ProjectionExpression syntax: full parser error
- TransactGetItems — exact error messages missing key attribute: action-level ValidationError surfaces as TransactionCanceledException
- TransactWriteItems — exact error messages > 100 actions: anchored regex on the constraint phrase
- TransactWriteItems — exact error messages non-existent table: full ResourceNotFoundException message
- UpdateItem — exact error messages cannot update hash key attribute
- UpdateItem — exact error messages invalid UpdateExpression syntax
- UpdateItem — exact error messages missing ExpressionAttributeValues reference
- UpdateItem — exact error messages empty UpdateExpression
- UpdateItem — exact error messages cannot update range key attribute on composite table
-
partiql Tier 2 10 failing
View these tests in the suite →- BatchExecuteStatement — PartiQL partial failure — one valid and one invalid statement
- ExecuteStatement — PartiQL SELECT with nested map path
- ExecuteStatement — PartiQL SELECT with begins_with in WHERE clause
- ExecuteStatement — PartiQL PartiQL UPDATE with REMOVE
- ExecuteStatement — PartiQL evaluates negated predicates (NOT begins_with, IS NOT MISSING)
- ExecuteStatement — PartiQL DELETE with a false non-key predicate fails ConditionalCheckFailed and leaves the item
- ExecuteStatement — PartiQL UPDATE with a false non-key predicate fails ConditionalCheckFailed and leaves the item
- ExecuteStatement — PartiQL DELETE with a false NOT begins_with predicate fails ConditionalCheckFailed
- ExecuteStatement — PartiQL DELETE with a true NOT begins_with predicate removes the item
- ExecuteStatement — PartiQL rejects a write WHERE clause that omits the primary key
-
scan Tier 1 7 failing
View these tests in the suite →- Scan — ProjectionExpression rejects ExclusiveStartKey that does not match the table schema
- Scan — filter expression validation rejects begins_with with a non-string/binary operand
- Scan — filter expression validation rejects redundant parentheses in FilterExpression
- Scan — GSI scans a GSI with INCLUDE projection and returns only projected attributes
- Scan — GSI pagination across tied sort keys walks every item once across a paged GSI scan with tied sort keys
- Scan — LSI supports ConsistentRead on LSI scan
- Scan — parallel parallel scan with segments returns disjoint results
-
limits Tier 3 6 failing
View these tests in the suite →- Empty values — strings, binary, and sets empty binary (B: empty Uint8Array) in non-key attribute is accepted
- Empty values — strings, binary, and sets empty binary set (BS) is rejected
- Number precision — DynamoDB number limits and edge cases rejects arithmetic that overflows the supported number magnitude
- Reserved words — ExpressionAttributeNames handling reserved word without # in ProjectionExpression fails
- Response size limit (1MB) Query returns LastEvaluatedKey when response would exceed 1MB
- Response size limit (1MB) Scan returns LastEvaluatedKey when response would exceed 1MB
-
validation-ordering Tier 3 6 failing
View these tests in the suite →- CreateTable — validation ordering rejects a duplicate attribute in KeySchema
- CreateTable — validation ordering rejects more than two KeySchema elements
- CreateTable — validation ordering rejects an invalid BillingMode on its own
- Non-existent index — error surface UpdateTable deleting a non-existent GSI reports ResourceNotFoundException
- Query — validation ordering reports invalid Limit value
- Scan — validation ordering rejects a negative Segment
-
query Tier 1 4 failing
View these tests in the suite →- Query — Limit + FilterExpression interaction rejects ExclusiveStartKey that does not match the table schema
- Query — Limit + FilterExpression interaction rejects ExclusiveStartKey missing the index key on a GSI query
- Query — LSI INCLUDE projection returns only specified non-key attributes plus keys
- Query — Select modes on indexes Select ALL_PROJECTED_ATTRIBUTES on GSI returns only projected attributes
-
updateItem Tier 1 2 failing
View these tests in the suite →- UpdateItem — ReturnValues granularity UPDATED_NEW on a nested SET returns only the changed fragment
- UpdateItem — validation rejects update that modifies the hash key
-
updateTable Tier 1 2 failing
View these tests in the suite →- UpdateTable — basic rejects PROVISIONED to PROVISIONED no-op with same throughput values
- DeleteTable — deletion protection enforcement rejects DeleteTable while deletion protection is enabled
-
export Tier 2 2 failing
View these tests in the suite →- Export and import — S3 ExportTableToPointInTime initiates an export and reports it
- Export and import — S3 ImportTable ingests S3 data into a new table
-
transactions Tier 2 2 failing
View these tests in the suite →- TransactGetItems — ConsumedCapacity INDEXES breakdown includes the table read capacity units
- TransactGetItems — projection matching nothing omits Item when the projection matches no attribute on a present item
-
backups Tier 2 1 failing
View these tests in the suite →- On-demand backups — lifecycle and restore RestoreTableFromBackup initiates a restore into a new table
-
tags Tier 2 1 failing
View these tests in the suite →- Tags — validation rejects ListTagsOfResource with a non-existent ARN