首批通过分布式安全可靠测评,为关键业务系统打造
创建租户(不推荐使用)
更新时间:2023-08-10 11:45:58
功能说明
在指定的集群下创建单个租户时使用的接口。
调用说明
接口约束
调用者需要通过 OCP 应用服务鉴权。
请求路径
POST /api/v2/ob/clusters/{id}/tenants
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
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": 4,
"clusterName": "protoss",
"clusterType": "PRIMARY",
"createTime": "2020-12-15T18:29:29.355+08:00",
"id": 6,
"locality": "FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3",
"locked": false,
"mode": "MYSQL",
"name": "foo",
"obClusterId": 51,
"obVersion": "2.2.60",
"primaryZone": "zone1,zone2;zone3",
"readonly": false,
"status": "CREATING",
"zoneList": "zone1;zone2;zone3"
},
"duration": 2949,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2020-12-15T18:29:29.496+08:00",
"traceId": "4d3cdd7bf53046e4"
}