更新时间:2024-06-20 GMT+08:00
分享

创建表

功能介绍

在指定仓内创建表,表名在仓内唯一;创建表时,指定主键模板及本地二级索引模板及全局二级索引模板。创建表时,如果仓不存在,将会自动创建仓。

URI

POST /v1/create-table

表1 Query参数

参数

是否必选

参数类型

描述

store_name

String

仓名,全域唯一,不同租户的仓名不能相同。

  • 格式:${prefix}-${region-code}-${account-id},其中prefix为自定义前缀,region-code为kvs集群所在的区域代码,account-id为用户的账户id

  • 取值字符限制:[a-z0-9-]+

  • 长度:[16,52]

说明:

"-"不能出现在名字头部或尾部

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

table_name

String

表名,仓内唯一。

primary_key_schema

primary_key_schema object

主键模板, 最多1个,必须指定主键schema。

local_secondary_index_schema

Array of secondary_index objects

本地二级索引模板,可以多个。

global_secondary_index_schema

Array of global_secondary_index objects

全局二级索引模板。

pre_split_key_options

pre_split_key_options object

按照设定的分裂键值或者键值前缀进行预分裂。

表3 primary_key_schema

参数

是否必选

参数类型

描述

shard_key_fields

Array of field objects

分区键字段名数组,顺序组合。

shard_mode

String

分区模式。

sort_key_fields

Array of field objects

排序键字段名数组,顺序组合。

表4 secondary_index

参数

是否必选

参数类型

描述

index_name

String

二级索引名称,表内唯一。

sort_key_fields

Array of field objects

排序键字段名数组,顺序组合。

abstract_fields

Array of strings

摘要字段名数组。

表5 global_secondary_index

参数

是否必选

参数类型

描述

index_name

String

二级索引名称,表内唯一。

shard_key_fields

Array of field objects

分区键字段名数组,顺序组合。

shard_mode

String

分区模式。

sort_key_fields

Array of field objects

排序键字段名数组,顺序组合。

abstract_fields

Array of strings

摘要字段名数组。

表6 field

参数

是否必选

参数类型

描述

name

String

字段名。

order

Boolean

bool值预留无意义。

表7 pre_split_key_options

参数

是否必选

参数类型

描述

hash_count

Integer

在hash分区时,预分裂分区数量。

range_split_points

Array of strings

在range分区模式有效,最大1000个,与"hash_count"二选一。

响应参数

状态码: 200

表8 响应Body参数

参数

参数类型

描述

table_name

String

表名,仓内唯一。

primary_key_schema

primary_key_schema object

主键模板, 最多1个,必须指定主键schema。

local_secondary_index_schema

Array of secondary_index objects

本地二级索引模板,可以多个。

global_secondary_index_schema

Array of global_secondary_index objects

全局二级索引模板。

pre_split_key_options

pre_split_key_options object

按照设定的分裂键值或者键值前缀进行预分裂。

表9 primary_key_schema

参数

参数类型

描述

shard_key_fields

Array of field objects

分区键字段名数组,顺序组合。

shard_mode

String

分区模式。

sort_key_fields

Array of field objects

排序键字段名数组,顺序组合。

表10 secondary_index

参数

参数类型

描述

index_name

String

二级索引名称,表内唯一。

sort_key_fields

Array of field objects

排序键字段名数组,顺序组合。

abstract_fields

Array of strings

摘要字段名数组。

表11 global_secondary_index

参数

参数类型

描述

index_name

String

二级索引名称,表内唯一。

shard_key_fields

Array of field objects

分区键字段名数组,顺序组合。

shard_mode

String

分区模式。

sort_key_fields

Array of field objects

排序键字段名数组,顺序组合。

abstract_fields

Array of strings

摘要字段名数组。

表12 field

参数

参数类型

描述

name

String

字段名。

order

Boolean

bool值预留无意义。

表13 pre_split_key_options

参数

参数类型

描述

hash_count

Integer

在hash分区时,预分裂分区数量。

range_split_points

Array of strings

在range分区模式有效,最大1000个,与"hash_count"二选一。

状态码: 400

表14 响应Body参数

参数

参数类型

描述

error_code

String

请求返回的错误码。

error_msg

String

请求返回的错误信息。

状态码: 409

表15 响应Body参数

参数

参数类型

描述

error_code

String

请求返回的错误码。

error_msg

String

请求返回的错误信息。

请求示例

创建表,表名为test-table,分区键字段名为owner,排序键字段名称为filename

POST https://{endpoint}/v1/create-table

{
  "table_name" : "test_table",
  "primary_key_schema" : {
    "shard_key_fields" : [ {
      "name" : "owner",
      "order" : true
    } ],
    "sort_key_fields" : [ {
      "name" : "filename",
      "order" : true
    } ]
  }
}

响应示例

状态码: 200

表示创建表成功。

{
  "table_name" : "test_table",
  "primary_key_schema" : {
    "shard_key_fields" : [ {
      "name" : "owner",
      "order" : true
    } ],
    "sort_key_fields" : [ {
      "name" : "filename",
      "order" : true
    } ]
  }
}

状态码

状态码

描述

200

表示创建表成功。

400

BadRequest

409

表已存在

错误码

请参见错误码

分享:

    相关文档

    相关产品