使用示例

最近更新时间:2017-05-05 16:44:04

为了帮助您快速使用腾讯云Redis(CRS)API,这里给出一个使用示例。

本实例展示如何创建一个CRS实例:首先查询实例购买规格;然后查询创建需要的费用,通过创建接口创建实例;最后,通过订单查询接口,查询实例创建进度。

1. 查询售卖规格

在创建实例前, 我们需要先查询能够购买哪些可用区的实例, 可以通过查询售卖可用区接口查询,也可以通过查询售卖规格接口查询创建实例限制。

我们通过查询售卖规格接口,查询各个可用区售卖规格, 输入参数为空。

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

    https://redis.api.qcloud.com/v2/index.php?
    Action=DescribeRedisProduct
    &SecretId=AKIDVxZ0PsvtPCgNEtsO0pSFwqkeTMFCu7z1
    &Signature=eSCz5paiDrXsdifc0Eq0GEihzsI%3D
    &Nonce=23284
    &Timestamp=1468329994
    &Region=gz


上述请求的返回结果如下:

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "data": [
        {
            "zoneId": 100002,
            "name": "广州二区",
            "types": {
                "1": {
                    "type": 1,
                    "typeName": "集群版",
                    "minMemSize": 1024,
                    "maxMemSize": 204800,
                    "minBuyNum": 1,
                    "maxBuyNum": 10
                },
                "2": {
                    "type": 2,
                    "typeName": "单机版",
                    "minMemSize": 1024,
                    "maxMemSize": 512000,
                    "minBuyNum": 1,
                    "maxBuyNum": 10
                }
            }
        },
        {
            "zoneId": 200001,
            "name": "上海一区",
            "types": {
                "1": {
                    "type": 1,
                    "typeName": "集群版",
                    "minMemSize": 1024,
                    "maxMemSize": 204800,
                    "minBuyNum": 1,
                    "maxBuyNum": 10
                },
                "2": {
                    "type": 2,
                    "typeName": "单机版",
                    "minMemSize": 1024,
                    "maxMemSize": 204800,
                    "minBuyNum": 1,
                    "maxBuyNum": 10
                }
            }
        },
        {
            "zoneId": 300001,
            "name": "香港一区",
            "types": {
                "2": {
                    "type": 2,
                    "typeName": "单机版",
                    "minMemSize": 1024,
                    "maxMemSize": 40960,
                    "minBuyNum": 1,
                    "maxBuyNum": 10
                }
            }
        },
        {
            "zoneId": 400001,
            "name": "北美一区",
            "types": {
                "2": {
                    "type": 2,
                    "typeName": "单机版",
                    "minMemSize": 1024,
                    "maxMemSize": 204800,
                    "minBuyNum": 1,
                    "maxBuyNum": 10
                }
            }
        }
    ]
}

返回值是各个可用区的可售卖规格,其中一个元素表示某个可用区的售卖规格, 以返回值中广州二区集群版规格为例,各个字段解释如下:

参数名称 描述 取值
zoneId 可用区id 100002
name 可用区名称 广州二区
types.1 售卖规格对象 Array
types.1. type 实例类型, 1 - 集群版, 2 - 单机版 1
types.1. typeName 类型名称 集群版
types.1. mimMemSize 集群版可购买的最小容量,单位: MB 1024
types.1. maxMemSize 集群版可购买的最大容量 ,单位: MB 204800
types.1. minBuyNum 集群版可购买的最小实例数 1
types.1. maxBuyNum 集群版可购买的最大实例数 10

2. 查询创建实例价格

创建实例会扣除涉及的费用,可以通过查询实例价格接口查询涉及的费用。 我们这里假设购买一个广州二区集群版实例, 查询价格的输入参数如下:

参数名称 描述 取值
zoneId 实例所属可用区 100002(广州二区)
typeId 1:集群版;2:单机版 1(集群版)
memSize 新购容量, 单位:MB,取值范围以查询可售卖规格返回为准 1024
goodsNum 新购数量,取值范围以查询可售卖规格返回为准 1
period 购买时长,单位:月, 取值范围 [1, 36] 2

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://redis.api.qcloud.com/v2/index.php?
Action=InquiryRedisPrice
&Timestamp=1468328627
&Nonce=51897
&SecretId=AKIDVxZ0PsvtPCgNEtsO0pSFwqkeTMFCu7z1
&Signature=u34AneL09yCx50BwrUZtibiHxNw%3D
&Region=gz
&zoneId=100002
&typeId=1
&memSize=1024
&goodsNum=1
&period=2


从返回值知道, 购买上面规格的实例, 价格合计 16000分

{
    "code":"0",
    "message":"",
    "codeDesc": "Success",
    "data":{
        "price":16000
    }
}

3. 创建实例

接下来,我们按照上面的规格,调用创建实例接口, 输入参数如下:

参数名称 描述 取值
zoneId 实例所属可用区 100002(广州二区)
typeId 实例类型, 1:集群版;2:单机版 1(集群版)
vpcId vpc网络ID, 如果是基础网络,设置为0 0(基础网络)
memSize 新购容量,单位:MB, 取值范围以查询可售卖规格返回为准 1024
goodsNum 新购数量,取值范围以查询可售卖规格返回为准 1
period 购买时长,单位:月, 取值范围 [1, 36] 2
password 实例密码 49A2d!e@f12e

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://redis.api.qcloud.com/v2/index.php?
Action=CreateRedis
&Timestamp=1468328920
&Nonce=27412
&SecretId=AKIDVxZ0PsvtPCgNEtsO0pSFwqkeTMFCu7z1
&Signature=4Dvpkk1bJov%2FUd%2FElWjAHfJaoD8%3D
&zoneId=100002
&typeId=1
&vpcId=0
&memSize=1024
&goodsNum=1
&period=2
&password=49A2d!e@f12e


返回结果:

{
    "code":"0",
    "message":"",
    "codeDesc": "Success",
    "data": {
        "dealId":"432583"
    }
}

4. 查询订单

创建实例后, 可以使用dealId返回值到 查询订单详情 接口查询详情

参数名称 描述 取值
dealIds.n 订单号列表 432583

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://redis.api.qcloud.com/v2/index.php?
Action=DescribeRedisDealDetail
&Timestamp=1468329117
&Nonce=40727
&SecretId=AKIDVxZ0PsvtPCgNEtsO0pSFwqkeTMFCu7z1
&Signature=Y9rMVWyvjoijSl6zJxMW822edGk%3D
&dealIds.0=432583


对应输出如下:

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "dealDetails": [
        {
            "dealId": "432583",
            "dealName": "20160712110021",
            "zoneId": 100002,
            "goodsNum": 1,
            "creater": "3227991405",
            "creatTime": "2016-07-06 21:10:11",
            "overdueTime": "2016-07-16 21:10:11",
            "endTime": "2016-07-06 21:11:17",
            "status": 4,
            "description": "发货成功",
            "price": 16000,
            "goodsDetail": {
                "memSize": 1024,
                "timeSpan": 2,
                "timeUnit": "m",
                "redisIds": [
                    "crs-ifmymj41"
                ]
            }
        }
    ]
}

返回字段含义:

参数名称 描述 取值
dealId 订单号 432583
dealName 订单名称 20160712110021
zoneId 实例可用区 100002(广州一区)
goodsNum 购买实例数量 1
creater 订单创建者 3227991405
creatTime 订单创建时间 2016-07-06 21:10:11
overdueTime 订单过期时间 2016-07-21 17:24:37
endTime 订单结束时间 2016-07-06 21:11:17
status 订单状态 4
description 订单状态描述 “发货成功”
price 订单金额,单位:分 16000
goodsDetail.memsize 实例规格,单位:MB 1024
goodsDetail.timeSpan 购买时长 2
goodsDetail.timeUnit 时长单位, m- 月, d - 日 m (月)
goodsDetail.redisIds 订单购买的crs实例redisId列表 crs-ifmymj41