API接口说明
更新时间:2019-11-04
如果您是初次调用百度智能云产品的API,可以观看API入门视频指南,快速掌握调用API的方法。
创建实例
请求方法 | API |
---|---|
POST | /api/v1/instance |
创建CRDB实例前,需要选定node节点数、每个节点内存和磁盘大小。node节点申请bcc配额按照用户购买的套餐来申请,master和standby master节点默认固定配额(最小1核CPU、2G内存,随着node节点配额变化,按相应比例改变)来申请。
请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
backupPolicy | Object | No | 备份策略 1)preferredBackupDays,备份时间,周日为第一天,取值0,格式:"0,1,2,3,5,6" 2)preferredBackupWindow,备份时间窗口,格式:"00:15:00Z-05:15:00Z",使用UTC时间 |
engine | String | Yes | 1)数据库类型 2)取值范围:CockroachDB |
engineVersion | String | Yes | 2.0 |
instanceExpireTime | Datetime | Yes | deprecated. RDS不保存实例过期时间了 |
instanceName | String | No | 1)用户自定义实例名; 2)允许小写字母、数字; 3)长度限制为1~32; |
instanceClass | String | Yes | 实例硬件套餐名。 |
cpuCount | Int | Yes | 单个node CPU核数 |
allocatedMemoryInMB | Int | Yes | 单个node 内存 |
allocatedStorageInGB | Int | Yes | 单个node 磁盘空间 |
publiclyAccessible | Boolean | Yes | 是否开放外网访问 1)取值范围:true,false 2)默认不开放外网权限 |
initialDataReference | Object | No | 初始化数据源(实例克隆) |
orderId | String | Yes | 订单号 |
instanceAmount | Int | Yes | 批量创建RDS实例个数 |
azone | String | Yes | 可用区名称 |
vpcId | String | Yes | VPC ID |
subnetId | Object | Yes | 子网ID |
physicalZone | Object | No | 逻辑可用区和物理机机房对应关系 |
machineType | String | Yes | bcc:默认;dcc:RDS on DCC |
dccHostIds | Object | No | 当machineType为dcc时选 |
nodeAmount | Object | Yes | 总数最少3个,每个zone的Node节点个数,最少1个 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
instances | List | 由instance对象组成的数组 |
请求示例
Plain Text
1POST /json-api/v1/instance HTTP/1.1
2HOST: crdb.baidu.com
3Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
4{
5 "orderId": "20180801723123123404501",
6 "instanceAmount": 1,
7 "instanceParameters": {
8 "instanceName": "cockroach-test",
9 "engine": "cockroachdb",
10 "engineVersion": "2.0",
11 "instanceClass": "db1.micro",
12 "allocatedMemoryInMB": 1024,
13 "allocatedStorageInGB": 10,
14 "cpuCount": 3,
15 "backupPolicy": {
16 "preferredBackupDays": "0,1,2,4,5",
17 "preferredBackupWindow": "17:00:00Z-19:00:00Z"
18 },
19 "publiclyAccessible": true,
20 "instanceExpireTime": "2018-05-07T12:00:00Z",
21 "azone": "zoneA+zoneB",
22 "vpcId": "5439f126-2e13-4e9f-9b97-672ef17e6f0a",
23 "subnetId": {
24 "zoneA": "5087d05d-3818-4dc6-b87d-8810a921c453",
25 "zoneB": "a366faf1-f238-419d-8544-afd3e50bd9dd"
26 },
27 "nodeAmount": {
28 "zoneA": 3,
29 "zoneB": 2
30 }
31 }
32}
返回示例
Plain Text
1{
2 "instances": [
3 {
4 "instanceId": "rdsnk1h2iwrw1va",
5 "instanceName": "cockroach-test",
6 "engine": "cockroachdb",
7 "engineVersion": "2.0",
8 "characterSetName": "utf8",
9 "endpoint": {
10 "port": 5100,
11 "address": "cockroach-test.rdsnk1h2iwrw1va.bj.bce.qa.sandbox.baidu.com",
12 "vnetIp": null,
13 "inetIp": null
14 },
15 "instanceClass": "db1.micro",
16 "allocatedMemoryInMB": 1024,
17 "allocatedStorageInGB": 10,
18 "totalStorageInGB": 10,
19 "usedStorageInMB": 0,
20 "cpuCount": 1,
21 "instanceStatus": "creating",
22 "lockMode": "unlock",
23 "eipStatus": "closed",
24 "backupPolicy": {
25 "preferredBackupDays": "0,1,2,4,5",
26 "preferredBackupWindow": "17:00:00Z-19:00:00Z"
27 },
28 "publiclyAccessible": false,
29 "instanceCreateTime": "2018-08-31T07:51:12Z",
30 "instanceExpireTime": "2018-05-07T12:00:00Z",
31 "sourceInstanceId": "",
32 "instanceType": "master",
33 "region": "bj",
34 "sourceRegion": "bj",
35 "nodeAmount": 1,
36 "azone": "zoneA+zoneB",
37 "vpcId": "5439f126-2e13-4e9f-9b97-672ef17e6f0a",
38 "superUserFlag": "common",
39 "replicationType": "async",
40 "onlineStatus": 1,
41 "oldInstance": 0,
42 "applicationType": "normal",
43 "machineType": "bcc"
44 }
45 ]
46}
获取实例列表
请求方法 | API |
---|---|
POST | /json-api/v1/instance |
请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
公共请求参数 | 参考 公共请求参数 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
Instances | List <instance> | 由instance组成的数组 |
instanceId | String | 实例ID |
Instance参数列表
instanceName | String | 数据库实例名 |
---|---|---|
engine | String | 数据库引擎 |
engineVersion | String | 数据库引擎版本 |
characterSetName | String | 默认字符集 |
endpoint | Object | 数据库连接信息 { //数据库端口 "port": 5100, //数据库连接地址 "address": "$instanceName.$instanceId.$engine.crdb.baidu.com" } |
instanceClass | String | 实例规格 |
cpuCount | Int | 实例CPU |
allocatedMemoryInMB | Int | 实例内存 |
allocatedStorageInGB | Int | 存储空间 |
usedStorageInMB | Int | 已用存储空间 |
totalStorageInGB | Int | 总存储空间 |
instanceStatus | String | 实例状态 |
lockMode | String | 锁定模式 |
backupPolicy | Object | 备份策略 { "preferredBackupDays" : "0,1,2,4,5", "preferredBackupWindow" : "17:00:00Z-19:00:00Z" } 1)preferredBackupDays,备份时间,周日为第一天,取值0,格式:"0,1,2,3,5,6" 2)备份时间窗口,格式:"00:15:00Z-05:15:00Z",使用UTC时间 |
publiclyAccessible | Boolean | 是否开放外网访问权限 |
instanceCreateTime | Datetime | 实例创建时间 |
instanceExpireTime | Datetime | 实例到期时间 |
instanceType | String | 实例类型 |
sourceInstanceId | String | 主实例id,如果为主实例则为空 |
region | String | 该实例的区域(bj...) |
sourceRegion | String | 该实例的主实例的区域 |
superUserFlag | String | 是否创建super账号(common、super) |
azone | String | 实例的逻辑可用区 |
vpcId | String | 实例所属VPC的ID |
请求示例
Plain Text
1GET /json-api/v1/instance HTTP/1.1
2HOST: crdb.baidu.com
3Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
返回实例
Plain Text
1HTTP/1.1 200 OK
2x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
3Content-Type: application/json
4{
5 "instances":[{
6 "instanceId" : "rdsnudjimy0jbig",
7 "instanceName" : "cockroach5100",
8 "engine" : "cockroach",
9 "engineVersion" : "2.0",
10 "endpoint" : {
11 "port" : 3306,
12 "address" : "cockroach5100.rdsnudjimy0jbig.mysql.crdb.baidu.com",
13 "vnetIp" : "172.0.0.1",
14 "inetIp" : ""
15 },
16 "instanceClass" : "db1.micro",
17 "cpuCapacity" : 1,
18 "allocatedStorageInGB" : 5,
19 "totalStorageInGB" : 25,
20 "memoryCapacityInMB" : 256,
21 "usedStorageInMB" : 1023,
22 "instanceStatus" : "creating",
23 "lockMode" : "unlock",
24 "eipStatus" : "available",
25 "region" : "bj",
26 "backupPolicy" : {
27 "preferredBackupDays" : "0,1,2,4,5",
28 "preferredBackupWindow" : "17:00:00Z-19:00:00Z"
29 },
30 "instanceCreateTime" : "2016-06-01T12:00:00Z",
31 "instanceType" : "master",
32 "sourceInstanceId" : "",
33 "sourceRegion" : "bj",
34 "instanceAmount" : 1,
35 "azone" : "zoneB",
36 "vpcId" : "63696dde-6617-4847-9bde-5a146e8db25a",
37 "superUserFlag" : 0,
38 "replicationType" : "async"
39 }]
40}
获取实例信息
请求方法 | API |
---|---|
GET | /json-api/v1/instance/{InstanceId} |
请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
<公共请求参数> | 参考 公共请求参数 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
<公共返回参数> | 参考 公共返回参数 | |
Instance | Object | Instance Object |
Instance Object详情
参数名称 | 参数类型 | 参数描述 |
---|---|---|
instanceId | String | 实例ID |
instanceName | String | 数据库实例名 |
instanceClass | String | 实例规格 |
allocatedMemoryInMB | Int | 实例内存 |
allocatedStorageInGB | Int | 存储空间 |
totalStorageInGB | Int | 总存储空间 |
usedStorageInMB | Int | 已用存储空间 |
engine | String | 数据库引擎 |
engineVersion | String | 数据库引擎版本 |
characterSetName | String | 默认字符集 |
instanceStatus | String | 实例状态 |
lockMode | String | 锁定模式 |
billingStatus | String | 需要收费的附加服务状态 |
publiclyAccessible | Boolean | 是否开放外网访问权限 |
eipStatus | String | 外网访问功能状态 |
instanceCreateTime | Datetime | 实例创建时间 |
instanceExpireTime | Datetime | 实例到期时间 |
endpoint | Object | 数据库连接信息,Endpoint Object |
sourceInstanceId | String | 主实例id,如果为主实例则为空 |
instanceType | String | 实例类型 |
region | String | 该实例的区域(bj...) |
sourceRegion | String | 该实例的主实例的区域 |
instanceAmount | Int | 实例的执行单元数量(主要用于代理实例) |
azone | String | 实例的逻辑可用区 |
vpcId | String | 实例所属VPC的ID |
subnetId | Object | 各可用区的子网ID(如果创建时选择了子网) |
superUserFlag | String | 是否创建super账号(common、super) |
backupPolicy | Object | 备份策略 |
readReplicaNum | Int | 在同步本实例的副本数量 |
readReplica | List\<String\> | 在同步本实例的副本ID列表 |
topology | Object | 实例所属数据库集群的拓扑信息 Topology Object |
Endpoint Object详情
参数名称 | 参数类型 | 参数描述 |
---|---|---|
address | String | 数据库连接地址 |
port | Int | 数据库端口 |
vnetIp | String | 数据库连接的IP( 会因为主从切换而变化) |
inetIp | String | 从公网连接数据库的IP( 不会因为主从切换而变化) |
BackupPolicy Object详情
参数名称 | 参数类型 | 参数描述 |
---|---|---|
backupDays | String | 以逗号分隔的备份时间,周日为第一天,取值0 举例:"0,1,2,3,5,6" |
backupTime | String | 备份开始时间,使用UTC时间 举例:"17:00:00Z" |
persistent | Boolean | 是否启用了备份数据持久化 |
expireInDays | Int | 持久化天数,未启用则为0 |
freeSpaceInGB | Int | 免费赠送的存储空间大小,单位为GB |
请求示例
Plain Text
1GET /json-api/v1/instance/rdsmut9rhom8p3m HTTP/1.1
2HOST: crdb.baidu.com
3Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
返回实例
Plain Text
1HTTP/1.1 200 OK
2x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
3Content-Type: application/json
4{
5 "instance": {
6 "instanceId": "rdsn0k0wzxncdcp",
7 "instanceName": "cockroach-test",
8 "engine": "cockroachdb",
9 "engineVersion": "2.0",
10 "characterSetName": "utf8",
11 "endpoint": {
12 "port": 5100,
13 "address": "cockroach-test.rdsn0k0wzxncdcp.bj.bce.qa.sandbox.baidu.com",
14 "vnetIp": "192.168.9.242",
15 "inetIp": ""
16 },
17 "instanceClass": "db1.micro",
18 "allocatedMemoryInMB": 1024,
19 "allocatedStorageInGB": 10,
20 "totalStorageInGB": 10,
21 "usedStorageInMB": 93.0859375,
22 "cpuCount": "2",
23 "instanceStatus": "available",
24 "lockMode": "unlock",
25 "eipStatus": "closed",
26 "backupPolicy": {
27 "preferredBackupDays": "0,1,2,4,5",
28 "preferredBackupWindow": "17:00:00Z-19:00:00Z"
29 },
30 "publiclyAccessible": false,
31 "instanceCreateTime": "2018-08-30T03:35:42Z",
32 "instanceExpireTime": "2018-05-07T12:00:00Z",
33 "sourceInstanceId": "",
34 "instanceType": "master",
35 "region": "bj",
36 "sourceRegion": "bj",
37 "nodeAmount": "1",
38 "azone": "zoneA",
39 "vpcId": "54xxxxxx-2e13-4e9f-9b97-672exxxxx6f0a",
40 "superUserFlag": "common",
41 "replicationType": "async",
42 "onlineStatus": "1",
43 "oldInstance": "0",
44 "applicationType": "normal",
45 "machineType": "bcc",
46 "rootStorageInGB": "20",
47 "subnetId": {
48 "zoneA": "50xxxxxd-3818-4dc6-b87d-881xxxxxx453"
49 },
50 "readReplicaNum": 0,
51 "readReplica": [],
52 "topology": {
53 "rdsproxy": [],
54 "master": [
55 "rdsn0k0wzxncdcp"
56 ],
57 "readReplica": []
58 }
59 }
60}
删除实例
请求方法 | API |
---|---|
DELETE | /json-api/v1/instance/{instanceId} |
删除实例,实例的运行数据、库、表记录,日志全部删除。
- 实例当前lockMode必须为lockExpiration
- 实例删除前先创建一个snapshot
- snapshot不删除
- 如果实例为只读副本,则只删除该副本
请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
<公共请求参数> | 参考 公共请求参数 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
<公共返回参数> | 公共返回参数 |
请求示例
Plain Text
1DELETE /json-api/v1/instance/rdsmxiaozhiwen0 HTTP/1.1
2HOST: crdb.baidu.com
3Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
返回实例
Plain Text
1HTTP/1.1 200 OK
2x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
3Content-Type: application/json
4Content-Length: 0