接口说明

创建实例

描述

  • 本接口用于创建一个或多个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 scs 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"
        }
    ]
}