更新时间:2024-07-02 GMT+08:00
分享

创建DDM逻辑库

功能介绍

创建DDM逻辑库。

接口约束

创建前需确保已导入RDS实例,RDS实例状态正常且没有被其他DDM实例关联使用。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/instances/{instance_id}/databases

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一region下的project ID。

获取方法请参见获取项目ID

instance_id

String

DDM实例ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务的“获取用户Token”接口来获取。

表3 请求Body参数

参数

是否必选

参数类型

描述

databases

Array of CreateDatabaseDetail objects

逻辑库相关信息的集合。

表4 CreateDatabaseDetail

参数

是否必选

参数类型

描述

name

String

逻辑库名称,需要满足以下条件:

  • 长度为2-48个字符。
  • 必须以小写字母开头。
  • 可以包含小写字母、数字、下划线,不能包含大写字母和其它特殊字符。
  • 禁用关键字: "information_schema"、"mysql"、"performance_schema"、"sys"。

最小长度:2

最大长度:48

shard_mode

String

逻辑库的拆分模式。

  • cluster表示逻辑库是拆分模式。
  • single表示逻辑库是非拆分模式。

枚举值:

  • cluster
  • single

shard_number

Integer

同一种工作模式下逻辑库分片的数量。

  • shard_unit不为空, shard_unit与关联rds数量的乘积
  • shard_unit为空,大于关联的RDS数量,小于等于关联rds数量*64。

shard_unit

Integer

单个RDS上的逻辑库分片数。非必选

  • 非拆分逻辑库,固定为1。
  • 拆分逻辑库,大于等于1,小于等于64。

最小值:1

最大值:64

used_rds

Array of DatabaseInstabcesParam objects

逻辑库关联的RDS。

表5 DatabaseInstabcesParam

参数

是否必选

参数类型

描述

id

String

逻辑库关联的RDS的ID。

adminUser

String

关联RDS实例的用户。

adminPassword

String

关联RDS实例的密码。

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

databases

Array of CreateDatabaseDetailResponses objects

逻辑库相关信息的集合。

表7 CreateDatabaseDetailResponses

参数

参数类型

描述

name

String

逻辑库名称。

状态码: 400

表8 响应Body参数

参数

参数类型

描述

errCode

String

业务错误码。

externalMessage

String

错误信息。

状态码: 500

表9 响应Body参数

参数

参数类型

描述

errCode

String

业务错误码。

externalMessage

String

错误信息。

请求示例

创建逻辑库时不新建DDM账号,关联已有账号。

POST https://{endpoint}/v1/{project_id}/instances/{instance_id}/databases

{
  "databases" : [ {
    "name" : "mytestdb",
    "shard_mode" : "cluster",
    "shard_number" : 8,
    "shard_unit" : 8,
    "used_rds" : [ {
      "id" : "f296c394f13f48449d715bf99af07e59in01",
      "adminUser" : "root",
      "adminPassword" : "xxxxxx"
    } ]
  } ]
}

响应示例

状态码: 200

OK

{
  "databases" : [ {
    "name" : "mytestdb"
  } ]
}

状态码: 400

bad request

{
  "externalMessage" : "Parameter error.",
  "errCode" : "DBS.280001"
}

状态码: 500

server error

{
  "externalMessage" : "Server failure.",
  "errCode" : "DBS.200412"
}

状态码

状态码

描述

200

OK

400

bad request

500

server error

错误码

请参见错误码

相关文档