更新时间:2022-02-21 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。

engine_version

String

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

capacity

Integer

缓存容量(G Byte)。

  • 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、64。Cluster集群实例规格支持4、8、16、24、32、48、64、96、128、192、256、384、512、768、1024。

password

String

缓存实例的认证信息。

说明:

当“no_password_access”配置为“false”或未配置时,请求消息中须包含password参数。

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

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

access_user

String

当缓存类型为Redis时,则不需要设置,保持为空即可。

当缓存引擎为Memcached,且“no_password_access”为“false”时才需要设置,表示通过密码认证访问缓存实例的认证用户名。

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

说明:
  • 当缓存引擎为Redis时,该参数不需要设置。

vpc_id

String

虚拟私有云ID。

获取方法如下:

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

security_group_id

String

指定实例所属的安全组。

获取方法如下:

  • 方法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

JSON

备份策略,实例类型为主备和集群时支持。具体备份参数,请参考表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。
表3 备份策略

参数

类型

必选

说明

save_days

Integer

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

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

backup_type

String

备份类型。

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

默认值是:manual。

periodical_backup_plan

JSON

备份计划,具体请参考表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 a instance",
        "engine": "Redis",
        "engine_version": "3.0",
        "capacity": 2,
        "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"
    }
  • 示例:
    创建Redis实例
    {
        "name": "dcs-APITest",
        "description": "Test",
        "engine": "Redis",
        "engine_version": "3.0",
        "capacity": 2,
        "enterprise_project_id": "0",
        "enterprise_project_name": "default",
        "no_password_access": false,
        "access_user": "",
        "password": "********",
        "vpc_id": "0402ea19-5457-4032-9d1b-eb48b98f6c66",
        "security_group_id": "4b95a790-5cfc-463d-8de5-42199e55371c",
        "subnet_id": "a3bd29e4-d5bc-414c-a79a-1f35ee4ead88",
        "available_zones": [
            "12c47a78666b4e438cd0c692b9860387"
        ],
        "maintain_begin": "02:00",
        "maintain_end": "06:00",
        "product_id": "dcs.master_standby-h",
        
        "instance_num": 1
    }

响应消息

响应参数

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

参数

类型

说明

instance_id

String

缓存实例ID。

instances

JSON

缓存实例列表。具体参数,请参考表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

创建缓存实例成功。