GeminiDB Serverless使用与约束
本章节介绍GeminiDB Serverless使用与约束。
使用须知
- GeminiDB Serverless兼容DynamoDB接口,支持使用GeminiDB兼容DynamoDB接口的API对表进行增删改操作,控制台只支持DDL操作。
- 当前版本不支持事务功能(TransactWriteItems, TransactGetItems)。
- 当前版本不支持按需备份接口:CreateBackup、DescribeBackup、 DeleteBackup、 ListBackups、 RestoreTableFromBackup。
- 表/索引名称中不能包含的字符有:"."。
- DDL接口均为同步接口。
支持的表达式
GeminiDB兼容DynamoDB接口中的ConditionExpression、FilterExpression支持的函数语法如下:
function ::=
attribute_exists (path)
| attribute_not_exists (path)
| attribute_type (path, type)
| begins_with (path, substr)
| contains (path, operand)
contains(path,operand)中operand只能是属性值(即传入的value占位符)。 GeminiDB兼容DynamoDB接口中的UpdateExpression语法如下:
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
SET path = operand语法中,不支持operand是path的场景。
SET path = operand1 '+'|'-' operand2语法中,operand1必须等于path,operand2必须是属性值
SET path = if_not_exists (path, value)语法中,两个path必须相等,且value只能是表达式属性值。
所有的value只能是占位符,比如':placeholder'。 兼容的接口列表
| 接口名称 |
|---|
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| CreateTable | 请求参数 | AttributeDefinitions | 是 | 是 | - |
| KeySchema | 是 | 是 | - | ||
| TableName | 是 | 是 | Table Name 字符长度3~48,正则表达式([\w-]+)。 | ||
| BillingMode | 否 | 是 | - | ||
| GlobalSecondaryIndexes | 否 | 是 | - | ||
| LocalSecondaryIndexes | 否 | 是 | - | ||
| ProvisionedThroughput | 是 | 是 | - | ||
| SSESpecification | 否 | 否 | - | ||
| StreamSpecification | 否 | 是 | - | ||
| Tags | 否 | 否 | - | ||
| 返回参数 | TableDescription | - | 是 | - | |
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| UpdateTable | 请求参数 | AttributeDefinitions | 否 | 是 | - |
| BillingMode | 否 | 是 | - | ||
| GlobalSecondaryIndexesUpdates | 是 | 是 | - | ||
| ProvisionedThroughput | 否 | 否 | - | ||
| ReplicaUpdates | 否 | 否 | 默认强一致性。 | ||
| SSESpecification | 否 | 否 | - | ||
| StreamSpecification | 否 | 是 | - | ||
| TableName | 是 | 是 | - | ||
| 返回参数 | TableDescription | - | 是 | - | |
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| ListTables | 请求参数 | ExclusiveStartTableName | 否 | 是 | - |
| Limit | 否 | 是 | - | ||
| 返回参数 | LastEvaluatedTableName | - | 是 | - | |
| TableNames | - | 是 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| DeleteTable | 请求参数 | TableName | 是 | 是 | - |
| 返回参数 | TableDescription | - | 是 | - | |
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| PutItem | 请求参数 | Item | 是 | 是 | - |
| TableName | 是 | 是 | - | ||
| ConditionalOperator | 否 | 是 | - | ||
| ConditionExpression | 否 | 是 | - | ||
| Expected | 否 | 是 | - | ||
| ExpressionAttributeNames | 否 | 是 | - | ||
| ExpressionAttributeValues | 否 | 是 | - | ||
| ReturnConsumedCapacity | 否 | 是 | - | ||
| ReturnItemCollectionMetrics | 否 | 是 | - | ||
| ReturnValues | 否 | 是 | - | ||
| 返回参数 | Attributes | - | 是 | - | |
| ConsumedCapacity | - | 是 | - | ||
| ItemCollectionMetrics | - | 否 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| UpdateItem | 请求参数 | Key | 是 | 是 | - |
| TableName | 是 | 是 | - | ||
| AttributeUpdates | 否 | 是 | - | ||
| ConditionalOperator | 否 | 是 | - | ||
| ConditionExpression | 否 | 是 | - | ||
| Expected | 否 | 是 | - | ||
| ExpressionAttributeNames | 否 | 是 | - | ||
| ExpressionAttributeValues | 否 | 是 | - | ||
| ReturnConsumedCapacity | 否 | 是 | - | ||
| ReturnItemCollectionMetrics | 否 | 否 | - | ||
| ReturnValues | 否 | 是 | - | ||
| UpdateExpression | 否 | 是 | - | ||
| 返回参数 | Attributes | - | 是 | - | |
| ConsumedCapacity | - | 是 | - | ||
| ItemCollectionMetrics | - | 否 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| GetItem | 请求参数 | Key | 是 | 是 | - |
| TableName | 是 | 是 | - | ||
| AttributesToGet | 否 | 是 | - | ||
| ConsistentRead | 否 | 否 | 默认强一致性。 | ||
| ExpressionAttributeNames | 否 | 是 | - | ||
| ProjectionExpression | 否 | 是 | - | ||
| ReturnConsumedCapacity | 否 | 是 | - | ||
| 返回参数 | ConsumedCapacity | - | 是 | - | |
| Item | - | 是 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| DeleteItem | 请求参数 | Key | 是 | 是 | - |
| TableName | 是 | 是 | - | ||
| ConditionalOperator | 否 | 是 | - | ||
| ConditionExpression | 否 | 是 | - | ||
| Expected | 否 | 是 | - | ||
| ExpressionAttributeNames | 否 | 是 | - | ||
| ExpressionAttributeValues | 否 | 是 | - | ||
| ReturnConsumedCapacity | 否 | 是 | - | ||
| ReturnItemCollectionMetrics | 否 | 否 | - | ||
| ReturnValues | 否 | 是 | - | ||
| 返回参数 | Attributes | - | 是 | - | |
| ConsumedCapacity | - | 是 | - | ||
| ItemCollectionMetrics | - | 否 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| BatchWriteItem | 请求参数 | RequestItems | 是 | 是 | - |
| ReturnConsumedCapacity | 否 | 是 | - | ||
| ReturnItemCollectionMetrics | 否 | 否 | - | ||
| 返回参数 | ConsumedCapacity | - | 是 | - | |
| ItemCollectionMetrics | - | 否 | - | ||
| UnprocessedItems | - | 是 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| BatchGetItem | 请求参数 | RequestItems | 是 | 是 | 无 |
| ReturnConsumedCapacity | 否 | 是 | - | ||
| 返回参数 | ConsumedCapacity | - | 是 | - | |
| Responses | - | 是 | - | ||
| UnprocessedKeys | - | 是 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| Query | 请求参数 | TableName | 是 | 是 | - |
| AttributesToGet | 否 | 是 | - | ||
| ConditionalOperator | 否 | 是 | - | ||
| ConsistentRead | 否 | 否 | 默认强一致性。 | ||
| ExclusiveStartKey | 否 | 是 | - | ||
| ExpressionAttributeNames | 否 | 是 | - | ||
| ExpressionAttributeValues | 否 | 是 | - | ||
| FilterExpression | 否 | 是 | - | ||
| IndexName | 否 | 是 | - | ||
| KeyConditionExpression | 否 | 是 | - | ||
| KeyConditions | 否 | 否 | - | ||
| Limit | 否 | 是 | - | ||
| ProjectionExpression | 否 | 是 | - | ||
| QueryFilter | 否 | 是 | - | ||
| ReturnConsumedCapacity | 否 | 是 | - | ||
| ScanIndexForward | 否 | 是 | - | ||
| Select | 否 | 是 | - | ||
| 返回参数 | ConsumedCapacity | - | 是 | - | |
| Count | - | 是 | - | ||
| Items | - | 是 | - | ||
| LastEvaluatedKey | - | 是 | - | ||
| ScannedCount | - | 是 | - | ||
| 接口名称 | 参数 | 是否必选 | 是否支持 | 备注 | |
|---|---|---|---|---|---|
| Scan | 请求参数 | TableName | 是 | 是 | - |
| AttributesToGet | 否 | 是 | - | ||
| ConditionalOperator | 否 | 是 | - | ||
| ConsistentRead | 否 | 否 | 默认强一致性。 | ||
| ExclusiveStartKey | 否 | 是 | - | ||
| ExpressionAttributeNames | 否 | 是 | - | ||
| ExpressionAttributeValues | 否 | 是 | - | ||
| FilterExpression | 否 | 是 | - | ||
| IndexName | 否 | 是 | - | ||
| Limit | 否 | 是 | - | ||
| ProjectionExpression | 否 | 是 | - | ||
| ReturnConsumedCapacity | 否 | 是 | - | ||
| ScanFilter | 否 | 是 | - | ||
| Segment | 否 | 是 | - | ||
| Select | 否 | 是 | - | ||
| TotalSegments | 否 | 是 | - | ||
| 返回参数 | ConsumedCapacity | 否 | 是 | - | |
| Count | - | 是 | - | ||
| Items | - | 是 | - | ||
| LastEvaluatedKey | - | 是 | - | ||
| ScannedCount | - | 是 | - | ||