接口说明
更新时间:2023-07-13
创建实例
描述
- 本接口用于创建一个或多个redis实例。
- 创建实例需要实名认证,没有通过实名认证的可以前往百度开放云官网控制台中的安全认证下的实名认证中进行认证。
- 创建计费方式为后付费的实例需要账户现金余额+通用代金券大于100;预付费方式的实例则需要账户现金余额大于等于实例费用。
- 支持批量创建,且如果创建过程中有一个实例创建失败,所有实例将全部回滚。
- 创建接口为异步创建,可通过查询指定实例详情接口查询实例状态。
请求结构
POST /v{version}/instance?clientToken={clientToken} HTTP/1.1
HOST: scs.bj.baidubce.com
Authorization: authorization string
{
"billing":{
"paymentTiming": paymentTiming,
"reservation": {
"reservationLength": reservationLength
}
},
"purchaseCount" : purchaseCount,
"instanceName" : instanceName,
"instanceClass" : instanceClass
"port" : port,
"engineVersion" : engineVersion,
"vpcId" : vpcId ,
"subnets" :[
{
"zoneName": zoneName,
"subnetId": subnetId
}
]
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
version | string | 是 | URL参数 | API版本号 |
clientToken | string | 是 | Query参数 | 幂等性Token,是一个长度不超过64位的ASCII字符串。 |
billing | billing | 是 | RequestBody参数 | 计费相关参数。结构及取值参考 |
instanceName | string | 是 | RequestBody参数 | 用户自定义实例名,要求: 1)支持大小写字母、数字以及-_ /.等特殊字符,必须以字母开头; 2)长度限制为1-64; |
instanceClass | string | 是 | RequestBody参数 | 实例规格 |
port | int | 是 | RequestBody参数 | 端口号 1025 < port <22222 ,22222 < port < 65535 |
engineVersion | String | 是 | RequestBody参数 | 引擎版本,集群:2.6、3.2 主从:3.2、4.0 |
purchaseCount | int | 否 | RequestBody参数 | 购买个数,最大不超过10,默认1 |
vpcId | string | 否 | RequestBody参数 | vpc,如果不提供则属于默认vpc。可通过调用查询VPC列表接口查询可用的VPC |
subnets | List SubnetMap | 否 | RequestBody参数 | vpc内,每个可用区的subnetId;如果不是默认vpc则必须指定subnetId。可通过调用查询子网接口查询子网列表。每个实例最多配置两个subnet。 |
SubnetMap
参数名称 | 类型 | 描述 |
---|---|---|
zoneName | String | 指定zone信息,默认为空,由系统自动选择,可通过调用获取可用区列表接口查询可用区列表。 zoneName命名规范是“国家-region-可用区序列",小写,例如北京可用区A为"cn-bj-a"。专属实例使用专属服务器所在zone,无需指定该字段。 |
subnetId | String | 子网Id,为空时将使用默认子网。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 描述 |
---|---|---|
instanceIds | List InstanceId | 由InstanceId组成的数组 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InstanceNameAlreadyExist | You already has a instance with the given name | 400 | 实例名已存在 |
ExceedQuota | The redis instances you want to create exceeded the system limit | 400 | 创建的SCS实例数超出系统限制 |
NotEnoughBalanceForPayOrder | Balance is not enough, please recharge! | 403 | 余额不足,请充值。 |
ParamValidationFailed | Parameter validate error:{detail} | 400 | 参数校验失败。 |
ServiceUnavailable | Service is unavailable | 503 | 内部服务器错误。 |
请求示例
POST /v1/instance?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST: scs.bj.baidubce.com
ContentType: application/json
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2017-11-21T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"billing":{
"paymentTiming":"Prepaid",
"reservation": {
"reservationLength": 1
}
},
"purchaseCount" : 1,
"instanceName" : "scs_name",
"instanceClass" : "redis.master.basic",
"port" : 6379,
"engineVersion" : "3.2",
"vpcId" : "vpc-1n1wqxfu4iuu" ,
"subnets":[
{
"zoneName": "cn-bj-a",
"subnetId": "sbn-rvv87cdd0gv9"
}
]
}
返回示例
{
"instanceIds":["scs-bj-cxisuftlkquj"]
}
删除实例
描述
释放单个SCS实例,释放后实例所使用的物理资源都被收回,相关数据全部丢失且不可恢复
只有付费类型为Postpaid或者付费类型为Prepaid且已过期的实例才可以释放。
请求结构
DELETE /v{version}/instance/{instanceId} HTTP/1.1
HOST: scs.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号 |
instanceId | String | 是 | Query参数 | 实例Id |
返回头域
除公共头域,无其它特殊头域。
返回参数
无特殊返回参数。
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BadRequest | Bad request parameters or illegal request. | 400 | 请求有误 |
OperationDenied | Prepay type cannot be deleted. | 409 | 预付费且未过期的实例不能释放 |
InstanceNotExistException | Instance not found. | 404 | 实例未找到或非自己的实例 |
InstanceDeleteFailed | Instance {instanceId} delete failed. | 403 | 删除scs实例失败 |
ServiceUnavailable | Service is unavailable. | 503 | 内部服务器错误。 |
获取实例详情
描述
查询单个实例的详细信息。
请求结构
GET /v{version}/instance/{instanceId} HTTP/1.1
Host: scs.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
version | string | 是 | URL参数 | API版本号 |
instanceId | string | 是 | URL参数 | 待查询的实例ID |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 描述 |
---|---|---|
instanceId | String | 实例ID |
instanceName | String | 实例名 |
instanceStatus | String | 实例状态 |
architectureType | String | 引擎类型为Redis,取值:集群: “cluster” 主从:“master_slave”,default: 主从 |
engine | String | 引擎类型,redis,memcache |
engineVersion | String | 引擎版本 |
vnetIp | String | 私网IP |
domain | String | 域名 |
port | String | 链接端口 |
instanceCreateTime | Datetime | 实例创建时间 |
instanceExpireTime | Datetime | 实例到期时间 |
capacity | int | 总容量,单位GB |
usedCapacity | double | 已用容量,单位GB |
paymentTiming | String | 付费方式。预付费:Prepaid,后付费:Postpaid |
zoneNames | List<String> | 可用区list |
vpcId | String | VPC的ID |
subnets | Subnet | 子网id |
Subnet
参数名称 | 参数类型 | 参数描述 |
---|---|---|
name | String | 子网名 |
subnetId | String | 子网Id |
zoneName | String | 子网所在可用区 |
cidr | String | 子网cidr |
vpcId | String | 所属vpc的id |
请求示例
GET /v1/instance/scs-bj-cxisuftlkquj HTTP/1.1
HOST: scs.bj.baidubce.com
ContentType: application/json
Authorization: bce-auth-v1/0255cb4f78f140728045b551d6a317ec/2018-11-13T05:46:05Z/1800/host/70268ec1d0491c86e67f345ad3aee4cf7f8924dade9b7f3e2f1a95814a00c129
返回示例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
{
"instanceId": "scs-bj-cxisuftlkquj",
"instanceName": "post101",
"instanceStatus": "Running",
"architectureType": "master_slave",
"engine": "redis",
"engineVersion": "3.2",
"vnetIp": "10.107.231.11",
"domain": "redis.ruqpwjmvrsyt.scs.bj.bce.qa.sandbox.baidu.com",
"port": "6379",
"instanceCreateTime": "2018-11-13T05:37:49Z",
"capacity": 1,
"usedCapacity": 0.06,
"paymentTiming": "Postpaid",
"vpcId": "vpc-1n1wqxfu4iuu",
"subnets": [
{
"name": "系统预定义子网C",
"subnetId": "sbn-0ynnfkyymh8z",
"zoneName": "cn-bj-c",
"cidr": "192.168.32.0/20"
},
{
"name": "系统预定义子网",
"subnetId": "sbn-rvv87cdd0gv9",
"zoneName": "cn-bj-a",
"cidr": "192.168.0.0/20"
}
],
"zoneNames": [
"cn-bj-a",
"cn-bj-c"
]
}
获取实例列表
描述
只能查看属于自己账号的实例列表。
请求结构
GET /v{version}/instance?marker={marker}&maxKeys={maxKeys} HTTP/1.1
Host: scs.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
version | string | 是 | URL参数 | API版本号 |
marker | string | 否 | Query参数/td> | 批量获取列表的查询的起始位置,是一个由系统生成的字符串 |
maxKeys | int | 否 | Query参数 | 每页包含的最大数量(主实例),最大数量通常不超过1000,缺省值为1000。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 描述 |
---|---|---|
marker | String | 批量获取列表的查询的起始位置,是一个由系统生成的字符串 |
maxKeys | int | 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000。 |
isTruncated | boolean | true表示后面还有数据,false表示已经是最后一页 |
nextMarker | String | 获取下一页所需要传递的marker值。当isTruncated为false时,该域不出现 |
instances | List<InstanceModel> | 由InstanceModel组成的数组 |
请求示例
GET /v1/instance?marker=-1&maxKeys=20 HTTP/1.1
HOST: scs.bj.baidubce.com
ContentType: application/json
Authorization: bce-auth-v1/0255cb4f78f140728045b551d6a317ec/2018-11-13T05:57:04Z/1800/host/633fd6aadc177fce91e5e930c63886b5fb4da8938d9a02c9d13df4fdb8efdec5
返回示例
{
"marker": "-1",
"isTruncated": true,
"nextMarker": "1058",
"maxKeys": 1,
"instances": [
{
"instanceId": "scs-bj-cxisuftlkquj",
"instanceName": "post101",
"instanceStatus": "Running",
"engine": "redis",
"engineVersion": "3.2",
"vnetIp": "10.107.231.11",
"domain": "redis.ruqpwjmvrsyt.scs.bj.bce.qa.sandbox.baidu.com",
"port": "6379",
"instanceCreateTime": "2018-11-13T05:37:49Z",
"capacity": 1,
"usedCapacity": 0.06,
"paymentTiming": "Postpaid",
"zoneNames": [
"cn-bj-a",
"cn-bj-c"
]
}
]
}
获取可用区列表
请求结构
GET /v{version}/zone HTTP/1.1
HOST: scs.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
version | string | 是 | URL参数 | API版本号 |
返回参数
参数名称 | 类型 | 描述 |
---|---|---|
zones | List ZoneNames | 可用区列表 |
ZoneNames
参数名称 | 类型 | 描述 |
---|---|---|
zoneNames | List String | 可用区列表 |
请求示例
GET /v1/zone HTTP/1.1
HOST: scs.bj.baidubce.com
Authorization: bce-auth-v1/0255cb4f78f140728045b551d6a317ec/2018-11-13T06:05:41Z/1800/host/7767a07238b64a846fef59a0b919eec99d147e5fe23be98ff6bf90e32e889baf
返回示例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
Content-Length: 567
{
"zones": [
{"zoneNames":["cn-bj-a"]},
{"zoneNames":["cn-bj-b"]},
{"zoneNames":["cn-bj-a","cn-bj-b"]}
]
}
获取子网列表
请求结构
GET /v{version}/subnet?vpcId={vpcId}&zoneName={zoneName} HTTP/1.1
HOST: scs.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号 |
vpcId | String | 否 | Query参数 | 所属vpc的id |
zoneName | String | 否 | Query参数 | 所属可用区的名称 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 描述 |
---|---|---|
subnets | List Subnet | 子网列表 |
Subnet Object详情
参数名称 | 参数类型 | 参数描述 |
---|---|---|
name | String | 子网名 |
subnetId | String | 子网Id |
zoneName | String | 子网所在可用区 |
cidr | String | 子网cidr |
vpcId | String | 所属vpc的id |
请求示例
GET /v1/subnet?vpcId=vpc-1n1wqxfu4iuu&zoneName=cn-bj-a HTTP/1.1
HOST: rds.bj.baidubce.com
Authorization: bce-auth-v1/0255cb4f78f140728045b551d6a317ec/2018-11-13T06:13:25Z/1800/host/2feac87a586a66c048be0b6ef2d02fdfca7d65cf9b6c9e6b9efe20bac95b7c7a
返回示例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
Content-Length: 150
{
"subnets": [
{
"name": "系统预定义子网B",
"subnetId": "sbn-4zt8126ea6c3",
"cidr": "192.168.16.0/20",
"zoneName": "cn-bj-b",
"vpcId": "vpc-1n1wqxfu4iuu"
}
]
}