更新时间:2023-12-13 GMT+08:00

创建缓存实例

功能介绍

创建缓存实例。

URI

POST /v1.0/{project_id}/instances

参数说明见表1
表1 参数说明

参数

类型

必选

说明

project_id

String

项目ID。获取方式,参考获取项目ID

请求消息

请求参数

参数说明见表2

表2 参数说明

参数

类型

必选

说明

name

String

实例名称。

由中英文字符开头,只能由中英文字母、数字、中划线和下划线组成,长度为4~64的字符。

description

String

实例的描述信息。

长度不超过1024的字符串。

说明:

\与"在json报文中属于特殊字符,如果参数值中需要显示\或者"字符,请在字符前增加转义字符\,比如\\或者\"

engine

String

缓存引擎:Redis和Memcached。

engine_version

String

缓存版本,当缓存引擎为Redis时,取值为3.0、4.0或5.0。

spec_code

String

DCS的产品规格编码。

具体取值可以在分布式缓存服务控制台,创建实例页面中查看“实例规格>规格名称”。

capacity

Float

缓存容量(G Byte)。

说明:

在创建实例时capacity值需与spec_code保持对应,否则创建实例失败。其对应关系可通过登录分布式缓存服务管理控制台,在实例创建页面的“实例规格”区域,查看“规格名称”与“规格”的对应关系。

  • Redis3.0:单机和主备类型实例取值:2、4、8、16、32、64。Proxy集群实例规格支持64、128、256、512、1024。
  • Redis4.0和Redis5.0:单机和主备类型实例取值:0.125、0.25、0.5、1、2、4、8、16、32、24、48、64。Cluster集群实例规格支持4、8、16、24、32、48、64、96、128、192、256、384、512、768、1024。
  • Memcached:单机和主备类型实例取值:2、4、8、16、32、64。

password

String

缓存实例的认证信息。

Redis类型的缓存实例密码复杂度要求:

  • 输入长度为8到64位的字符串。
  • 新密码不能与旧密码相同。
  • 必须包含如下四种字符中的三种组合:
    • 小写字母
    • 大写字母
    • 数字
    • 特殊字符包括(`~!@#$^&*()-_=+\|{},<.>/?)

vpc_id

String

虚拟私有云ID。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考《虚拟私有云 API参考》的“查询VPC列表”。

security_group_id

String

指定实例所属的安全组。

当engine为Redis且engine_version为3.0时,或engine为Memcached时,该参数为必选。Redis3.0和Memcached实例支持安全组访问控制。

当engine为Redis且engine_version为4.0和5.0时,该参数为可选。Redis4.0和Redis5.0版本实例不支持安全组控制访问。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考《虚拟私有云 API参考》的“查询安全组列表”。

subnet_id

String

子网的网络ID。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考《虚拟私有云 API参考》的“查询子网列表”。

available_zones

Array

创建缓存节点到指定且有资源的可用区ID。具体查询方法,请参考查询可用区信息,在查询时,请注意查看该可用区是否有资源。

如果是创建主备、Proxy集群、Cluster集群实例,支持跨可用区部署,可以为备节点指定备可用区。在为节点指定可用区时,用逗号分隔开,具体请查看示例。

product_id

String

支持创建的产品的标识。具体查询方法,请参考查询产品规格列表

instance_backup_policy

Object

备份策略,实例类型为主备和集群时支持。具体备份参数,请参考表3表4

maintain_begin

String

维护时间窗开始时间,格式为hh:mm:ss。

  • 维护时间窗开始和结束时间必须为指定的时间段,可参考查询维护时间窗时间段获取。
  • 开始时间必须为22:00:00、02:00:00、06:00:00、10:00:00、14:00:00和18:00:00。
  • 该参数不能单独为空,若该值为空,则结束时间也为空。系统分配一个默认开始时间02:00:00。

maintain_end

String

维护时间窗结束时间,格式为hh:mm:ss。

  • 结束时间在开始时间基础上加四个小时,即当开始时间为22:00:00时,结束时间为02:00:00。
  • 该参数不能单独为空,若该值为空,则开始时间也为空,系统分配一个默认结束时间06:00:00。

port

Integer

实例自定义端口。只有创建Redis4.0和Redis5.0实例才支持自定义端口,Redis3.0和Memcached实例不支持。

创建Redis4.0和Redis5.0实例,如果没发送该参数或该参数为空,表示实例使用默认端口6379。如果自定义端口,端口范围为1~65535的任意数字。

rename_commands

Object

支持自定义重命名高危命令。只有创建Redis4.0和Redis5.0实例才支持重命名高危命令,Redis3.0和Memcached实例不支持。

创建Redis4.0和Redis5.0实例,如果没发送该参数或该参数为空,表示没有需要重命名的命令。当前支持重命名的高危命令有command、keys、flushdb、flushall和hgetall,其他命令暂不支持重命名。

表3 备份策略

参数

类型

必选

说明

save_days

Integer

当backup_type设置为manual时,该参数为必填。

保留天数,单位:天,取值范围:1-7。

backup_type

String

备份类型。

  • auto:自动备份
  • manual:手动备份

默认值是:manual。

periodical_backup_plan

Object

备份计划,具体请参考表4

表4 备份计划

参数

类型

必选

说明

begin_at

String

备份执行时间,“00:00-01:00”代表0点开始执行备份。

period_type

String

备份周期类型,目前支持“weekly”。

backup_at

Array

每周的周几开始备份,取值1-7,1代表周一,7代表周日。

timezone_offset

String

备份的时区。取值为-1200 ~+1200之间的时区。若为空则默认使用DCS-Server节点的当前时区。

请求示例

  • 请求URL:
    POST https://{dcs_endpoint}/v1.0/{project_id}/instances
  • 示例:
    {
        "name": "dcs-a11e",
        "description": "Create an instance",
        "engine": "Redis",
        "engine_version": "3.0",
        "capacity": 2,
        "spec_code": "XXXXXX",
        "password": "XXXXXX",
        "vpc_id": "27d99e17-42f2-4751-818f-5c8c6c03ff15",
        "security_group_id": "1477393a-29c9-4de5-843f-18ef51257c7e",
        "subnet_id": "ec2f34b9-20eb-4872-85bd-bea9fc943128",
        "available_zones": ["ae04cf9d61544df3806a3feeb401b204","d573142f24894ef3bd3664de068b44b0"],
        "product_id": "XXXXXX",
        "instance_backup_policy": {
            "save_days": 1,
            "backup_type": "auto",
            "periodical_backup_plan": {
                "begin_at": "00:00-01:00",
                "period_type": "weekly",
                "backup_at": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7
                ]
            }
        },
        "maintain_begin": "22:00:00",
        "maintain_end": "02:00:00"
    }

响应消息

响应参数

参数说明见表5
表5 参数说明

参数

类型

说明

instance_id

String

缓存实例ID。

instances

Array of Objects

缓存实例列表。具体参数,请参考表6

表6 instances参数说明

参数

类型

说明

instance_id

String

缓存实例ID。

instance_name

String

缓存实例名称。

响应示例

{
    "instances": [
        {
            "instance_id": "3c49fd6b-fc7c-419e-9644-b6cce008653f",
            "instance_name": "dcs-test005"
        }
    ],
    "instance_id": "3c49fd6b-fc7c-419e-9644-b6cce008653f"
}

状态码

操作成功的状态码如表7所示,其他响应见表1

表7 状态码

状态码

描述

200

创建缓存实例成功。