暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何创建租户?OceanBase工具学习笔记329

数据库新手 2023-06-28
267

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

功能说明

在指定的集群下创建单个租户时使用的接口。

调用说明

接口约束

调用者需要通过 OCP 应用服务鉴权。

请求路径

POST /api/v2/ob/clusters/{id}/tenants/createTenant

path:

参数

类型

必选

示例值

描述

id

Integer

1

集群 ID

请求参数

参数

类型

必选

示例值

描述

name

String

foo

租户名称,集群下唯一

mode

String

MYSQL

租户兼容模式,取值范围:

 ORACLE

 MYSQL

primaryZone

String

zone1,zone2;zone3

Zone 优先级

charset

String

utf8mb4

字符集,取值范围:

  • ORACLE 模式:
    • utf8mb4
    • gbk
    • gb18030
  • MYSQL 模式:
    • binary
    • utf8mb4
    • gbk
    • gb18030

缺省为 utf8mb4

collation

String

utf8mb4_general_ci

校验规则,取值范围:

  • binary
  • utf8mb4
  • gbk
  • gb18030

缺省为 utf8mb4_general_ci

说明
ORACLE 租户暂不支持此参数

description

String

bar

租户备注信息

whitelist

String

%

支持的格式有:

 IP地址,示例:xxx.xxx.xxx.1,xxx.xxx.xxx.2

 子网/掩码,示例:xxx.xxx.xxx.3/24

 模糊匹配,示例:xxx.xxx.xxx.% 或 xxx.xxx.xxx._

 多种格式混合,示例:xxx.xxx.xxx.1,xxx.xxx.xxx.2,xxx.xxx.xxx.%,xxx.xxx.xxx._,xxx.xxx.xxx.3/24

说明
% 表示所有客户端都可以连接 缺省为 %

rootPassword

String

管理员用户密码。

 ORACLE 租户:SYS 用户

 MYSQL 租户:root 用户

 密码强度说明: 长度为 8 ~ 32,且至少包含 2 个数字、2 个大写字母、2 个小写字母和 2 个特殊字符,支持的特殊字符为 ._+@#$%

saveToCredential

Boolean

true

是否将租户管理员密码保存到到当前 ocp 登录用户的密码箱中。

zones

Array

--

--

├─name

String

zone1

集群下的 Zone 名

├─replicaType

String

FULL

取值范围:

 FULL

 LOGONLY

 READONLY

├─resourcePool

Object

资源池

├─unitSpecName

String

S1

可在 “Unit 规格管理” 页面上查看规格列表

├─unitCount

Integer

1

Unit 个数

返回结果

基础数据结构

参数

类型

说明

data

Object

异步任务信息,详情参见 任务信息

successful

Boolean

请求是否成功。

timestamp

Datetime

服务端完成请求的时间戳。

duration

Integer

服务端处理请求的时间(毫秒)。

status

Integer

符合 HTTP Status 规范的编码。

traceId

String

请求的 Trace ID,用于排查问题。

server

String

响应请求的应用服务的地址。

租户数据结构

参数

类型

说明

id

Long

租户 ID

name

String

租户名

clusterName

String

集群名

obClusterId

Long

集群在 OB 端的 ID

clusterId

Long

集群 ID

clusterType

String

集群类型,取值范围:

 PRIMARY:主集群

 STANDBY:备集群

mode

String

租户兼容模式,取值范围:

 ORACLE

 MYSQL

createTime

DateTime

创建时间

primaryZone

String

Zone 优先级

zoneList

String

Zone 列表

locality

String

副本分布

status

String

租户状态

locked

Boolean

是否已锁定

readonly

String

是否只读

obVersion

String

OceanBase 集群版本

description

String

租户备注

示例

请求示例

POST /api/v2/ob/clusters/1/tenants/createTenant

body:

{

"name": "foo",

"mode": "MYSQL",

"primaryZone": "zone1,zone2;zone2",

"charset": "utf8mb4",

"collation": "utf8mb4_general_ci",

"description": "bar",

"whitelist": "%",

"rootPassword": "xxxxx",

"saveToCredential": true,

"zones": [

{

"name": "zone1",

"replicaType": "FULL",

"resourcePool": {

"unitSpecName": "S1",

"unitCount": 1

}

},

{

"name": "zone2",

"replicaType": "FULL",

"resourcePool": {

"unitSpecName": "S1",

"unitCount": 1

}

},

{

"name": "zone3",

"replicaType": "FULL",

"resourcePool": {

"unitSpecName": "S1",

"unitCount": 1

}

}

]

}

返回示例

{

"data": {

"clusterId": 2000017,

"creator": "admin",

"executor": "xxx.xxx.xxx.xxx",

"id": 4000191,

"name": "Create tenant",

"operation": "EXECUTE",

"prohibitRollback": false,

"startTime": "2022-08-22T19:55:25.902+08:00",

"status": "RUNNING",

"subtasks": [

{

"description": "Create ob tenant",

"downstreams": [

4000198

],

"id": 4000201,

"name": "Create ob tenant",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 4,

"status": "PENDING",

"timeout": 1200,

"upstreams": [

4000204

]

},

{

"description": "Set ob tenant parameters",

"downstreams": [

4000199

],

"id": 4000202,

"name": "Set ob tenant parameters",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 2,

"status": "PENDING",

"timeout": 300,

"upstreams": [

4000203

]

},

{

"description": "Set whitelist",

"downstreams": [

4000203

],

"id": 4000200,

"name": "Set whitelist",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 3,

"status": "PENDING",

"timeout": 300,

"upstreams": [

4000195

]

},

{

"description": "Update tenant status",

"downstreams": [

4000197

],

"id": 4000199,

"name": "Update tenant status",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 8,

"status": "PENDING",

"timeout": 300,

"upstreams": [

4000202

]

},

{

"description": "Set super user password",

"downstreams": [

4000200

],

"id": 4000195,

"name": "Set super user password",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 0,

"status": "PENDING",

"timeout": 300,

"upstreams": [

4000198

]

},

{

"description": "Sync tenant information",

"downstreams": [

4000195

],

"id": 4000198,

"name": "Sync tenant information",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 5,

"status": "PENDING",

"timeout": 300,

"upstreams": [

4000201

]

},

{

"description": "Prepare create tenant",

"downstreams": [

4000201

],

"id": 4000204,

"name": "Prepare create tenant",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 6,

"status": "READY",

"timeout": 30,

"upstreams": []

},

{

"description": "Import tenant time zone info",

"downstreams": [],

"id": 4000196,

"name": "Import tenant time zone info",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 1,

"status": "PENDING",

"timeout": 600,

"upstreams": [

4000197

]

},

{

"description": "Import tenant srs info",

"downstreams": [

4000196

],

"id": 4000197,

"name": "Import tenant srs info",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 9,

"status": "PENDING",

"timeout": 600,

"upstreams": [

4000199

]

},

{

"description": "Set system variables",

"downstreams": [

4000202

],

"id": 4000203,

"name": "Set system variables",

"nodeType": "JAVA_TASK",

"operation": "EXECUTE",

"parallelIdx": -1,

"prohibitRollback": false,

"runTime": 1,

"seriesId": 7,

"status": "PENDING",

"timeout": 300,

"upstreams": [

4000200

]

}

],

"taskDefinitionId": -1,

"tenantId": 3000001,

"type": "MANUAL"

},

"duration": 6390,

"server": "a83ad33525",

"status": 200,

"successful": true,

"timestamp": "2022-08-22T19:55:27.325+08:00",

"traceId": "dadeade2e6894d46"

}

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论