Tier 1
93.9%
Tier 2
91.3%
Tier 3
93.9%
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
- deleteTable tier 1
- describeTable tier 1
- listTables tier 1
- kinesis tier 2
- streams tier 2
- tags 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 7 failing
View these tests in the suite →- 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 redundant parentheses in KeyConditionExpression: full error string
- Query — exact error messages malformed ExclusiveStartKey: short invalid-starting-key error
- 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
-
scan Tier 1 5 failing
View these tests in the suite →- Scan — ProjectionExpression rejects ExclusiveStartKey that does not match the table schema
- Scan — ExclusiveStartKey exclusivity and filtered Limit returns LastEvaluatedKey while items remain, counting scanned-not-matched against Limit
- Scan — filter expression validation rejects begins_with with a non-string/binary operand
- Scan — filter expression validation rejects redundant parentheses in FilterExpression
- Scan — GSI pagination across tied sort keys walks every item once across a paged GSI scan with tied sort keys
-
partiql Tier 2 4 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 returns a populated ConsumedCapacity block when requested
- ExecuteStatement — PartiQL evaluates negated predicates (NOT begins_with, IS NOT MISSING)
-
transactions Tier 2 4 failing
View these tests in the suite →- TransactGetItems — ConsumedCapacity charges 2 read capacity units per item, including a missing item
- 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
- TransactWriteItems — ConsumedCapacity charges 2 write capacity units per item
-
validation-ordering Tier 3 4 failing
View these tests in the suite →- CreateTable — validation ordering rejects an invalid BillingMode on its own
- Non-existent index — error surface Scan on a non-existent index reports ValidationException
- Non-existent index — error surface UpdateTable deleting a non-existent GSI reports ResourceNotFoundException
- Scan — validation ordering rejects a negative Segment
-
createTable Tier 1 3 failing
View these tests in the suite →- CreateTable — configuration parameters TableClass STANDARD_INFREQUENT_ACCESS round-trips
- CreateTable — configuration parameters SSESpecification with the AWS-managed key round-trips
- CreateTable — configuration parameters OnDemandThroughput round-trips on a PAY_PER_REQUEST table
-
query Tier 1 3 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 — KeyConditionExpression with parentheses rejects redundant parentheses in KeyConditionExpression
-
updateItem Tier 1 3 failing
View these tests in the suite →- UpdateItem — ReturnValues granularity UPDATED_NEW on a nested SET returns only the changed fragment
- UpdateItem — ReturnValues granularity REMOVE with UPDATED_NEW omits Attributes (nothing was set to a new value)
- UpdateItem — nested path semantics SET fails when intermediate map path does not exist
-
updateTable Tier 1 3 failing
View these tests in the suite →- UpdateTable — configuration parameters UpdateTable changes TableClass
- UpdateTable — configuration parameters UpdateTable changes OnDemandThroughput
- DeleteTable — deletion protection enforcement rejects DeleteTable while deletion protection is enabled
-
backups Tier 2 3 skipped
View these tests in the suite →- On-demand backups — lifecycle and restore CreateBackup → DescribeBackup → ListBackups → DeleteBackup
- On-demand backups — lifecycle and restore RestoreTableFromBackup initiates a restore into a new table
- On-demand backups — lifecycle and restore DescribeBackup on a deleted backup throws BackupNotFoundException
-
putItem Tier 1 2 failing
View these tests in the suite →- PutItem — ConditionExpression parens rejects redundant parentheses in ConditionExpression
- PutItem — ConditionExpression parens rejects contains() with a duplicate path and operand
-
account Tier 2 unsupported
View these tests in the suite →- Account reads — DescribeLimits, DescribeEndpoints DescribeLimits returns positive account and table capacity limits
- Account reads — DescribeLimits, DescribeEndpoints DescribeEndpoints returns at least one endpoint with an address
-
contributorInsights Tier 2 unsupported
View these tests in the suite →- Contributor insights — enable/describe/list reports DISABLED by default
- Contributor insights — enable/describe/list enabling transitions the status and lists the table
-
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
-
resourcePolicy Tier 2 unsupported
View these tests in the suite →- Resource policies — Put/Get/Delete GetResourcePolicy on a table with no policy throws PolicyNotFoundException
- Resource policies — Put/Get/Delete Put then Get round-trips the policy, and Delete removes it
-
limits Tier 3 2 failing
View these tests in the suite →- Item size limit — number sizing a number-dominated item under 400KB succeeds (15000 numbers)
- Number precision — DynamoDB number limits and edge cases rejects arithmetic that overflows the supported number magnitude
-
deleteItem Tier 1 1 failing
View these tests in the suite →- DeleteItem — ConditionExpression parens rejects redundant parentheses in ConditionExpression
-
getItem Tier 1 1 failing
View these tests in the suite →- Nested attribute projection GetItem ProjectionExpression with multiple sibling paths in one map keeps all of them