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对象组成的数组 |
请求示例
POST /json-api/v1/instance HTTP/1.1
HOST: crdb.baidu.com
Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
{
"orderId": "20180801723123123404501",
"instanceAmount": 1,
"instanceParameters": {
"instanceName": "cockroach-test",
"engine": "cockroachdb",
"engineVersion": "2.0",
"instanceClass": "db1.micro",
"allocatedMemoryInMB": 1024,
"allocatedStorageInGB": 10,
"cpuCount": 3,
"backupPolicy": {
"preferredBackupDays": "0,1,2,4,5",
"preferredBackupWindow": "17:00:00Z-19:00:00Z"
},
"publiclyAccessible": true,
"instanceExpireTime": "2018-05-07T12:00:00Z",
"azone": "zoneA+zoneB",
"vpcId": "5439f126-2e13-4e9f-9b97-672ef17e6f0a",
"subnetId": {
"zoneA": "5087d05d-3818-4dc6-b87d-8810a921c453",
"zoneB": "a366faf1-f238-419d-8544-afd3e50bd9dd"
},
"nodeAmount": {
"zoneA": 3,
"zoneB": 2
}
}
}
返回示例
{
"instances": [
{
"instanceId": "rdsnk1h2iwrw1va",
"instanceName": "cockroach-test",
"engine": "cockroachdb",
"engineVersion": "2.0",
"characterSetName": "utf8",
"endpoint": {
"port": 5100,
"address": "cockroach-test.rdsnk1h2iwrw1va.bj.bce.qa.sandbox.baidu.com",
"vnetIp": null,
"inetIp": null
},
"instanceClass": "db1.micro",
"allocatedMemoryInMB": 1024,
"allocatedStorageInGB": 10,
"totalStorageInGB": 10,
"usedStorageInMB": 0,
"cpuCount": 1,
"instanceStatus": "creating",
"lockMode": "unlock",
"eipStatus": "closed",
"backupPolicy": {
"preferredBackupDays": "0,1,2,4,5",
"preferredBackupWindow": "17:00:00Z-19:00:00Z"
},
"publiclyAccessible": false,
"instanceCreateTime": "2018-08-31T07:51:12Z",
"instanceExpireTime": "2018-05-07T12:00:00Z",
"sourceInstanceId": "",
"instanceType": "master",
"region": "bj",
"sourceRegion": "bj",
"nodeAmount": 1,
"azone": "zoneA+zoneB",
"vpcId": "5439f126-2e13-4e9f-9b97-672ef17e6f0a",
"superUserFlag": "common",
"replicationType": "async",
"onlineStatus": 1,
"oldInstance": 0,
"applicationType": "normal",
"machineType": "bcc"
}
]
}
获取实例列表
请求方法 | 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 |
请求示例
GET /json-api/v1/instance HTTP/1.1
HOST: crdb.baidu.com
Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
返回实例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
{
"instances":[{
"instanceId" : "rdsnudjimy0jbig",
"instanceName" : "cockroach5100",
"engine" : "cockroach",
"engineVersion" : "2.0",
"endpoint" : {
"port" : 3306,
"address" : "cockroach5100.rdsnudjimy0jbig.mysql.crdb.baidu.com",
"vnetIp" : "172.0.0.1",
"inetIp" : ""
},
"instanceClass" : "db1.micro",
"cpuCapacity" : 1,
"allocatedStorageInGB" : 5,
"totalStorageInGB" : 25,
"memoryCapacityInMB" : 256,
"usedStorageInMB" : 1023,
"instanceStatus" : "creating",
"lockMode" : "unlock",
"eipStatus" : "available",
"region" : "bj",
"backupPolicy" : {
"preferredBackupDays" : "0,1,2,4,5",
"preferredBackupWindow" : "17:00:00Z-19:00:00Z"
},
"instanceCreateTime" : "2016-06-01T12:00:00Z",
"instanceType" : "master",
"sourceInstanceId" : "",
"sourceRegion" : "bj",
"instanceAmount" : 1,
"azone" : "zoneB",
"vpcId" : "63696dde-6617-4847-9bde-5a146e8db25a",
"superUserFlag" : 0,
"replicationType" : "async"
}]
}
获取实例信息
请求方法 | 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 |
请求示例
GET /json-api/v1/instance/rdsmut9rhom8p3m HTTP/1.1
HOST: crdb.baidu.com
Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
返回实例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
{
"instance": {
"instanceId": "rdsn0k0wzxncdcp",
"instanceName": "cockroach-test",
"engine": "cockroachdb",
"engineVersion": "2.0",
"characterSetName": "utf8",
"endpoint": {
"port": 5100,
"address": "cockroach-test.rdsn0k0wzxncdcp.bj.bce.qa.sandbox.baidu.com",
"vnetIp": "192.168.9.242",
"inetIp": ""
},
"instanceClass": "db1.micro",
"allocatedMemoryInMB": 1024,
"allocatedStorageInGB": 10,
"totalStorageInGB": 10,
"usedStorageInMB": 93.0859375,
"cpuCount": "2",
"instanceStatus": "available",
"lockMode": "unlock",
"eipStatus": "closed",
"backupPolicy": {
"preferredBackupDays": "0,1,2,4,5",
"preferredBackupWindow": "17:00:00Z-19:00:00Z"
},
"publiclyAccessible": false,
"instanceCreateTime": "2018-08-30T03:35:42Z",
"instanceExpireTime": "2018-05-07T12:00:00Z",
"sourceInstanceId": "",
"instanceType": "master",
"region": "bj",
"sourceRegion": "bj",
"nodeAmount": "1",
"azone": "zoneA",
"vpcId": "54xxxxxx-2e13-4e9f-9b97-672exxxxx6f0a",
"superUserFlag": "common",
"replicationType": "async",
"onlineStatus": "1",
"oldInstance": "0",
"applicationType": "normal",
"machineType": "bcc",
"rootStorageInGB": "20",
"subnetId": {
"zoneA": "50xxxxxd-3818-4dc6-b87d-881xxxxxx453"
},
"readReplicaNum": 0,
"readReplica": [],
"topology": {
"rdsproxy": [],
"master": [
"rdsn0k0wzxncdcp"
],
"readReplica": []
}
}
}
删除实例
请求方法 | API |
---|---|
DELETE | /json-api/v1/instance/{instanceId} |
删除实例,实例的运行数据、库、表记录,日志全部删除。
- 实例当前lockMode必须为lockExpiration
- 实例删除前先创建一个snapshot
- snapshot不删除
- 如果实例为只读副本,则只删除该副本
请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
<公共请求参数> | 参考 公共请求参数 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
<公共返回参数> | 公共返回参数 |
请求示例
DELETE /json-api/v1/instance/rdsmxiaozhiwen0 HTTP/1.1
HOST: crdb.baidu.com
Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
返回实例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
Content-Length: 0