接口功能介绍
创建表。
接口约束
请先订购DRDS实例。请先订购和DRDS实例在一个资源池同一个VPC下的RDS-MySQL实例,并关联DRDS实例中。请先创建一个schema。请注意建表语句满足DDL审计规则。
URI
POST /v2/table/create
路径参数
无
Query参数
无
请求参数
请求头header参数
无
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
prodInstId | 是 | String | DRDS产品实例id | a15838ebf80644d7aa07e39a3905eead | |
sehemaName | 是 | String | schema名称 | sc5 | |
script | 是 | String | 建表SQL语句。 表名不允许重复。建表语句必须符合DDL审计规则。 | create table t1(id int not null primary key, name varchar(32) not null) | |
tableType | 是 | Integer | 表类型。1全局表 2分片表 3单片表 5分片表+库内分表 6单片表+库内分表 7分片表+库内分桶. | 1 | |
subSchemas | 否 | Array of String | 指定分片名列表。单片表(3\6) 必填且只能选1个分片; 分片表(2\5\7)填了表示指定分片, 没填表示全部分片。 分片名请从“查询schema分片"接口获取(name字段)。注意,不允许传标准库分片名。 | ["sc5_1", "sc5_2"] | |
tableShardingRule | 否 | Object | 分片规则。分片表(2\5\7) 必填。 | {"column": "id", "algorithm": "PartitionByMod"} | |
bucket | 否 | Integer | 分桶数量,范围为1-128。 全局表及单片表不支持该参数会忽略该参数,即只有分片表(2)支持。分桶和库内分表是互斥的。库内分桶(7)必填。 | 0 | |
innerTotal | 否 | Integer | 库内分表(5\6)数量,范围为1-128 。库内分表(5\6)必填。 | ||
innerShardingRule | 否 | Object | 库内分表(5\6)分片规则。库内分表(5\6)必填。库内分表只支持 取模、字符串hashCode求模 、时间范围三种分片算法。 |
表rule
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
column | 是 | String | 分片键。分片键必须在表字段列表中。 | ||
algorithm | 是 | String | 分片算法。包括:PartitionByMod (取模)、PartitionByStringMod(字符串hashCode求模)、PartitionByFileMap(枚举)、PartitionByEnumAndMod(枚举值分组)、PartitionByEnumAndStringMod(枚举值字符串分组)、PartitionByDateRange(时间范围)。注意:库内分表innerShardingRule只支持三种 :PartitionByMod (取模)、PartitionByStringMod(字符串hashCode求模) 、PartitionByDateRange(时间范围)。 | PartitionByMod |
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
code | 是 | String | 返回码 取值范围:0表示成功,1表示失败 | 0 | |
message | 是 | String | 结果描述 | success |
请求示例
请求头header
无
请求体body
# 创建全局表,tableType = 1
{
"prodInstId": "a15838ebf80644d7aa07e39a3905eead",
"schemaName" : "sc5",
"script":"create table t1(id int not null primary key, name varchar(32) not null)",
"tableType": 1
}
# 创建单片表,tableType = 3
{
"prodInstId": "a15838ebf80644d7aa07e39a3905eead",
"schemaName" : "sc5",
"script":"create table t2(id int not null primary key, name varchar(32) not null)",
"tableType": 3,
"subSchemas":[
"sc5_1"
]
}
# 创建单片库内分表,tableType = 6
{
"prodInstId": "a15838ebf80644d7aa07e39a3905eead",
"schemaName" : "sc5",
"script":"create table t3(id int not null primary key, name varchar(32) not null)",
"tableType": 6,
"subSchemas":[
"sc5_1"
],
"innerTotal": 4,
"innerShardingRule":{
"column":"id",
"algorithm": "PartitionByMod"
}
}
# 创建分片表,tableType = 2
{
"prodInstId": "a15838ebf80644d7aa07e39a3905eead",
"schemaName" : "sc5",
"script":"create table t4(id int not null primary key, name varchar(32) not null)",
"tableType": 2,
"tableShardingRule":{
"column":"id",
"algorithm": "PartitionByMod"
}
}
# 创建分片表+库内分表,tableType = 5
{
"prodInstId": "a15838ebf80644d7aa07e39a3905eead",
"schemaName" : "sc5",
"script":"create table t5(id int not null primary key, name varchar(32) not null)",
"tableType": 5,
"tableShardingRule":{
"column":"id",
"algorithm": "PartitionByMod"
},
"innerTotal": 4,
"innerShardingRule":{
"column":"name",
"algorithm": "PartitionByStringMod"
}
}
# 创建分片表+库内分桶,tableType = 7
{
"prodInstId": "a15838ebf80644d7aa07e39a3905eead",
"schemaName" : "sc5",
"script":"create table t6(id int not null primary key, name varchar(32) not null)",
"tableType": 7,
"tableShardingRule":{
"column":"id",
"algorithm": "PartitionByMod"
},
"bucket": 4
}
响应示例
{
"code": 0,
"message": "success"
}
状态码
请参考 状态码说明。