Updated on 2025-09-04 GMT+08:00

API Compatibility

This section describes APIs supported by GeminiDB DynamoDB-Compatible API.

Usage Notes

  • You can add, delete, and modify tables of GeminiDB DynamoDB-Compatible instances only through DynamoDB APIs. Tables can only be read on the console.
  • Tables created through non-DynamoDB APIs cannot be used on GeminiDB DynamoDB-Compatible instances.
  • The current version does not support traffic statistics, traffic control, or transaction functions (TransactWriteItems and TransactGetItems).
  • The current version does not support the following on-demand backup APIs: CreateBackup, DescribeBackup, DeleteBackup, ListBackups, and RestoreTableFromBackup.
  • Hash or partition keys determine where items are stored in an internal storage device of a GeminiDB DynamoDB-Compatible instance. Amazon DynamoDB uses a dedicated hash function, while GeminiDB DynamoDB-Compatible API uses the Murmur3 algorithm. As a result, the sequence of data returned by a scan operation is different.
  • The table or index name cannot contain periods (.).
  • Due to different encoding methods, the size of each row of data in a table on a GeminiDB DynamoDB-Compatible instance is not strictly limited to 400 KB.
  • All DDL APIs are synchronous APIs.

Supported Expressions

ConditionExpression of GeminiDB DynamoDB-Compatible API supports the following function syntax:

function ::=
    attribute_exists (path)
    | attribute_not_exists (path)
    | attribute_type (path, type)
    | begins_with (path, substr)
    | contains (path, operand)
operand in contains(path,operand) can only be an attribute value (that is, the value placeholder).

UpdateExpression of GeminiDB DynamoDB-Compatible API supports the following syntax:

update-expression ::=
     [ SET action [, action] ... ]
     [ REMOVE action [, action] ...]
     [ ADD action [, action] ... ]
     [ DELETE action [, action] ...]

 set-action ::=
     path =value

 value ::=
     operand
     | operand '+' operand
     | operand '-' operand

 operand ::=
     path | function

 function ::=
     if_not_exists (path, value)
     | list_append (list1, list2)

 remove-action ::=
     path

 add-action ::=
     path value

 delete-action ::=
     path value
In SET path = operand, operand cannot be set to path.
In SET path = operand1 '+'|'-' operand2, operand1 must be set to path, and operand2 must be an attribute value.
In SET path = if_not_exists (path, value), values of the two path parameters must be the same and must be expression attribute values.
All values can only be placeholders, for example, ':placeholder'.

Compatible APIs

Table 2 CreateTable

API

Parameter

Mandatory

Supported

Remarks

CreateTable

Request parameter

AttributeDefinitions

Yes

Yes

-

KeySchema

Yes

Yes

-

TableName

Yes

Yes

Can contain 3 to 48 characters. The regular expression is ([\w-]+).

BillingMode

No

No

Billing parameter, which is not supported

GlobalSecondaryIndexes

No

Yes

-

LocalSecondaryIndexes

No

Yes

-

ProvisionedThroughput

Yes

Yes

-

SSESpecification

No

No

Not supported in the current version (planning).

StreamSpecification

No

Yes

-

Tags

No

No

Not supported in the current version (planning).

Response parameter

TableDescription

-

Yes

-

Table 3 UpdateTable

API

Parameter

Mandatory

Supported

Remarks

UpdateTable

Request parameter

AttributeDefinitions

No

Yes

-

BillingMode

No

No

Billing parameter, which is not supported

GlobalSecondaryIndexesUpdates

Yes

Yes

CREATE and DELETE are supported, but UPDATE is not.

ProvisionedThroughput

No

No

Billing parameter, which is not supported

ReplicaUpdates

No

No

Default strong consistency

SSESpecification

No

No

Not supported in the current version (planning).

StreamSpecification

No

Yes

-

TableName

Yes

Yes

-

Response parameter

TableDescription

-

Yes

-

Table 4 DescribeTable

API

Parameter

Mandatory

Supported

Remarks

DescribeTable

Request parameter

TableName

Yes

Yes

-

Response parameter

Table

-

Yes

itemCount is not supported.

Table 5 ListTables

API

Parameter

Mandatory

Supported

Remarks

ListTables

Request parameter

ExclusiveStartTableName

No

Yes

-

Limit

No

Yes

-

Response parameter

LastEvaluatedTableName

-

Yes

-

TableNames

-

Yes

-

Table 6 DeleteTable

API

Parameter

Mandatory

Supported

Remarks

DeleteTable

Request parameter

TableName

Yes

Yes

-

Response parameter

TableDescription

-

Yes

-

Table 7 PutItem

API

Parameter

Mandatory

Supported

Remarks

PutItem

Request parameter

Item

Yes

Yes

-

TableName

Yes

Yes

-

ConditionalOperator

No

No

Deprecated parameter. For details, see ConditionExpression.

ConditionExpression

No

Yes

-

Expected

No

No

Deprecated parameter. For details, see ConditionExpression.

ExpressionAttributeNames

No

Yes

-

ExpressionAttributeValues

No

Yes

-

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

ReturnItemCollectionMetrics

No

No

Statistics parameter, which is not supported

ReturnValues

No

Yes

-

Response parameter

Attributes

-

Yes

-

ConsumedCapacity

-

No

Billing parameter, which is not supported

ItemCollectionMetrics

-

No

Statistics parameter, which is not supported

Table 8 UpdateItem

API

Parameter

Mandatory

Supported

Remarks

UpdateItem

Request parameter

Key

Yes

Yes

-

TableName

Yes

Yes

-

AttributeUpdates

No

No

Deprecated parameter. For details, see UpdateExpression.

ConditionalOperator

No

No

Deprecated parameter. For details, see UpdateExpression.

ConditionExpression

No

Yes

-

Expected

No

No

Deprecated parameter. For details, see UpdateExpression.

ExpressionAttributeNames

No

Yes

-

ExpressionAttributeValues

No

Yes

-

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

ReturnItemCollectionMetrics

No

No

Statistics parameter, which is not supported

ReturnValues

No

Yes

-

UpdateExpression

No

Yes

-

Response parameter

Attributes

-

Yes

-

ConsumedCapacity

-

No

Billing parameter, which is not supported

ItemCollectionMetrics

-

No

Statistics parameter, which is not supported

Table 9 GetItem

API

Parameter

Mandatory

Supported

Remarks

GetItem

Request parameter

Key

Yes

Yes

-

TableName

Yes

Yes

-

AttributesToGet

No

No

Deprecated parameter. For details, see ProjectionExpression.

ConsistentRead

No

No

Default strong consistency

ExpressionAttributeNames

No

Yes

-

ProjectionExpression

No

Yes

-

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

Response parameter

ConsumedCapacity

-

No

Billing parameter, which is not supported

Item

-

Yes

-

Table 10 DeleteItem

API

Parameter

Mandatory

Supported

Remarks

DeleteItem

Request parameter

Key

Yes

Yes

-

TableName

Yes

Yes

-

ConditionalOperator

No

No

Deprecated parameter. For details, see ConditionExpression.

ConditionExpression

No

Yes

-

Expected

No

No

Deprecated parameter. For details, see ConditionExpression.

ExpressionAttributeNames

No

Yes

-

ExpressionAttributeValues

No

Yes

-

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

ReturnItemCollectionMetrics

No

No

Statistics parameter, which is not supported

ReturnValues

No

Yes

-

Response parameter

Attributes

-

Yes

-

ConsumedCapacity

-

No

Billing parameter, which is not supported

ItemCollectionMetrics

-

No

Statistics parameter, which is not supported

Table 11 BatchWriteItem

API

Parameter

Mandatory

Supported

Remarks

BatchWriteItem

Request parameter

RequestItems

Yes

Yes

-

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

ReturnItemCollectionMetrics

No

No

Statistics parameter, which is not supported

Response parameter

ConsumedCapacity

-

No

Billing parameter, which is not supported

ItemCollectionMetrics

-

No

Statistics parameter, which is not supported

UnprocessedItems

-

Yes

-

Table 12 BatchGetItem

API

Parameter

Mandatory

Supported

Remarks

BatchGetItem

Request parameter

RequestItems

Yes

Yes

None

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

Response parameter

ConsumedCapacity

-

No

Statistics parameter, which is not supported

Responses

-

Yes

-

UnprocessedKeys

-

Yes

-

Table 13 Query

API

Parameter

Mandatory

Supported

Remarks

Query

Request parameter

TableName

Yes

Yes

-

AttributesToGet

No

No

Deprecated parameter. For details, see ProjectionExpression.

ConditionalOperator

No

No

Deprecated parameter. For details, see ProjectionExpression.

ConsistentRead

No

No

Default strong consistency

ExclusiveStartKey

No

Yes

-

ExpressionAttributeNames

No

Yes

-

ExpressionAttributeValues

No

Yes

-

FilterExpression

No

Yes

-

IndexName

No

Yes

-

KeyConditionExpression

No

Yes

-

KeyConditions

No

No

Deprecated parameter. For details, see KeyConditionExpression.

Limit

No

Yes

-

ProjectionExpression

No

Yes

-

QueryFilter

No

No

Deprecated parameter. For details, see FilterExpression.

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

ScanIndexForward

No

Yes

-

Select

No

Yes

COUNT is not supported.

Response parameter

ConsumedCapacity

-

No

Billing parameter, which is not supported

Count

-

Yes

-

Items

-

Yes

-

LastEvaluatedKey

-

Yes

-

ScannedCount

-

Yes

-

Table 14 Scan

API

Parameter

Mandatory

Supported

Remarks

Scan

Request parameter

TableName

Yes

Yes

-

AttributesToGet

No

No

Deprecated parameter. For details, see ProjectionExpression.

ConditionalOperator

No

No

Deprecated parameter. For details, see ConditionExpression.

ConsistentRead

No

No

Default strong consistency

ExclusiveStartKey

No

Yes

-

ExpressionAttributeNames

No

Yes

-

ExpressionAttributeValues

No

Yes

-

FilterExpression

No

Yes

-

IndexName

No

Yes

-

Limit

No

Yes

-

ProjectionExpression

No

Yes

-

ReturnConsumedCapacity

No

No

Billing parameter, which is not supported

ScanFilter

No

No

Deprecated parameter. For details, see FilterExpression.

Segment

No

Yes

-

Select

No

Yes

COUNT is not supported.

TotalSegments

No

Yes

-

Response parameter

ConsumedCapacity

No

No

Billing parameter, which is not supported

Count

-

Yes

-

Items

-

Yes

-

LastEvaluatedKey

-

Yes

-

ScannedCount

-

Yes

-

Table 15 UpdateTimeToLive

API

Parameter

Mandatory

Supported

Remarks

UpdateTimeToLive

Request parameter

TableName

Yes

Yes

-

TimeToLiveSpecification

Yes

Yes

-

Response parameter

TimeToLiveSpecification

-

Yes

-

Table 16 DescribeTimeToLive

API

Parameter

Mandatory

Supported

Remarks

DescribeTimeToLive

Request parameter

TableName

Yes

Yes

-

Response parameter

TimeToLiveSpecification

-

Yes

-