创建缓存实例
功能介绍
创建缓存实例,该接口创建的缓存实例支持按需计费。
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
实例名称。 由英文字符或数字开头,只能由英文字母、数字、中划线和下划线组成。 创建单个实例时,名称长度为4到64位的字符串。批量创建实例时,名称长度为4到56位的字符串,且实例名称格式为“自定义名称-n”,其中n从000开始,依次递增。例如,批量创建两个实例,自定义名称为dcs_demo,则两个实例的名称为dcs_demo-000和dcs_demo-001。 |
engine |
是 |
String |
缓存引擎:Redis和Memcached。 |
engine_version |
否 |
String |
缓存版本。 当缓存引擎为Redis时,该字段为必选,取值为3.0、4.0、5.0、6.0。 当缓存引擎为Memcached时,该字段为可选,取值为空。 |
capacity |
是 |
Float |
缓存容量(G Byte)
|
spec_code |
是 |
String |
产品规格编码。具体查询方法如下:
|
az_codes |
是 |
Array of strings |
创建缓存节点到指定且有资源的可用区Code。创建缓存节点到指定且有资源的可用区Code。具体查询方法,请参考查询可用区信息接口,在查询时,请注意查看该可用区是否有资源。 如果是创建主备、Proxy集群、Cluster集群实例,支持跨可用区部署,可以为备节点指定备可用区。在为节点指定可用区时,用逗号分隔开,具体请查看示例。 |
vpc_id |
是 |
String |
虚拟私有云ID。 获取方法如下:
|
subnet_id |
是 |
String |
子网的网络ID。 获取方法如下:
|
security_group_id |
否 |
String |
指定实例所属的安全组。 当engine为Memcached时,该参数为必选。Memcached实例支持安全组访问控制。 当engine为Redis且engine_version为4.0、5.0和6.0时,该参数为可选,engine_version为3.0时,该参数为必选。Redis4.0及以上版本的实例不支持安全组控制访问,只支持白名单控制。 获取方法如下:
|
publicip_id |
否 |
String |
Redis缓存实例绑定的弹性IP地址的id。 缺省值:false |
enterprise_project_id |
否 |
String |
企业项目ID。 |
enterprise_project_name |
否 |
String |
企业项目名称。 |
description |
否 |
String |
实例的描述信息。 长度不超过1024的字符串。
说明:
\与"在json报文中属于特殊字符,如果参数值中需要显示\或者"字符,请在字符前增加转义字符\,比如\\或者\"。 |
enable_ssl |
否 |
Boolean |
| |
private_ip |
否 |
String |
创建缓存实例手动指定的IP地址,支持Redis。 |
instance_num |
否 |
Integer |
表示批量创建缓存实例时,创建的实例个数。仅Redis实例支持批量创建。 默认值:1 取值范围:1-100 缺省值:1 |
maintain_begin |
否 |
String |
维护时间窗开始时间,为UTC时间,格式为HH:mm:ss
|
maintain_end |
否 |
String |
维护时间窗结束时间,为UTC时间,格式为HH:mm:ss。
|
password |
否 |
String |
缓存实例的认证信息
说明:
当“no_password_access”配置为“false”或未配置时,请求消息中须包含password参数。 Redis类型的缓存实例密码复杂度要求:
|
no_password_access |
否 |
Boolean |
是否允许免密码访问缓存实例。
缺省值:false |
bss_param |
否 |
BssParam object |
表示计费模式的相关参数。如果为空,则默认计费模式为按需计费;暂不支持其他计费方式。 |
instance_backup_policy |
否 |
BackupPolicy object |
备份策略,实例类型为主备和集群时支持。 |
tags |
否 |
Array of ResourceTag objects |
实例标签键值。 |
access_user |
否 |
String |
当缓存类型为Redis时,则不需要设置,保持为空即可。 当缓存引擎为Memcached,且“no_password_access”为“false”时才需要设置,表示通过密码认证访问缓存实例的认证用户名。 由英文字符开头,只能由英文字母、数字、中划线和下划线组成,长度为1~64的字符。
|
enable_publicip |
否 |
Boolean |
该参数未启用,保持为缺省值即可。 缺省值:false |
port |
否 |
Integer |
实例自定义端口。只有创建Redis 4.0以上版本的实例才支持自定义端口,Redis 3.0和Memcached实例不支持。 创建Redis4.0、Redis5.0、Redis6.0实例,如果没发送该参数或该参数为空,表示实例使用默认端口6379。如果自定义端口,端口范围为1~65535的任意数字。 |
rename_commands |
否 |
Object |
支持自定义重命名高危命令。只有创建Redis4.0及以上版本的实例才支持重命名高危命令,Redis3.0和Memcached实例不支持。 创建Redis4.0、Redis5.0、Redis6.0实例,如果没发送该参数或该参数为空,表示没有需要重命名的命令。当前支持重命名的高危命令有command、keys、flushdb、flushall、scan、hscan、sscan、zscan和hgetall,其他命令暂不支持重命名。Redis3.0版本的实例不支持高危命令重命名。 |
template_id |
否 |
String |
参数模板ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
is_auto_renew |
否 |
String |
该参数暂未启用。 缺省值:false |
charging_mode |
是 |
String |
付费方式。默认值是postPaid,即按需付费。 缺省值:postPaid |
is_auto_pay |
否 |
String |
该参数暂未启用。 |
period_type |
否 |
String |
该参数暂未启用。 |
period_num |
否 |
Integer |
该参数暂未启用。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
backup_type |
是 |
String |
备份类型。
|
save_days |
否 |
Integer |
当backup_type设置为auto时,该参数为必填。 保留天数,单位:天,取值范围:1-7。 |
periodical_backup_plan |
否 |
BackupPlan object |
备份计划,当backup_type设置为auto时,该参数为必填。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
instances |
Array of Instances objects |
缓存实例ID和名称,如果批量创建实例,则会返回多个。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息 最大长度:1024 |
error_code |
String |
错误码 最大长度:9 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null) 最大长度:1024 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息 最大长度:1024 |
error_code |
String |
错误码 最大长度:9 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null) 最大长度:1024 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息 最大长度:1024 |
error_code |
String |
错误码 最大长度:9 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null) 最大长度:1024 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息 最大长度:1024 |
error_code |
String |
错误码 最大长度:9 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null) 最大长度:1024 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_msg |
String |
错误信息 最大长度:1024 |
error_code |
String |
错误码 最大长度:9 |
error_ext_msg |
String |
扩展错误信息(暂未使用,赋值为null) 最大长度:1024 |
请求示例
-
创建Redis实例
POST https://{dcs_endpoint}/v2/{project_id}/instances { "name" : "dcs-APITest", "description" : "Test", "engine" : "Redis", "engine_version" : "5.0", "enterprise_project_id" : 0, "enterprise_project_name" : "default", "vpc_id" : "5e37b3be-950a-48e1-b498-65b63d336481", "security_group_id" : "securityGroupId", "enable_ssl" : false, "private_ip" : "", "az_codes" : [ "region01" ], "capacity" : 1, "access_user" : "", "password" : "********", "enable_publicip" : false, "spec_code" : "redis.single.xu1.large.1", "subnet_id" : "a4112635-3ec0-471c-95c3-5cf49b9533af", "no_password_access" : false, "template_id" : "b3ecc9c7-1133-4c47-a06a-21366e227d61" }
-
创建按需的Redis主备实例(设置了自定义端口、重命名高危命令、跨可用区部署)
{ "enterprise_project_name" : "default", "vpc_id" : "c5cd009b-9ba9-41f2-9a26-2b8c3f3ffd39", "description" : "Test", "security_group_id" : "d57fad27-e3e9-43b7-9498-0a698ab63b27", "port" : 4040, "enable_ssl" : false, "private_ip" : "", "az_codes" : [ "region01", "region02" ], "capacity" : 2, "access_user" : "", "instance_num" : 1, "enterprise_project_id" : 0, "password" : "********", "enable_publicip" : false, "engine" : "Redis", "spec_code" : "redis.ha.au1.large.2", "name" : "dcs-demo", "subnet_id" : "7e95c4d6-d7af-424c-a3cf-2be10968fe81", "engine_version" : "4.0", "no_password_access" : false, "rename_commands" : { "keys" : "keys001", "flushdb" : "flushdb001", "flushall" : "flushall001" } }
响应示例
状态码: 200
下发创建缓存实例任务成功。
查看实例状态为RUNNING时,即缓存实例创建成功。
-
示例 1
{ "instances" : [ { "instance_id" : "3c49fd6b-fc7c-419e-9644-b6cce008653f", "instance_name" : "dcs-test005" } ] }
-
示例 2
{ "instances" : [ { "instance_id" : "77284d69-cd51-4bf1-aa30-2e60f055800c", "instance_name" : "dcs-APITest1" } ] }
状态码: 400
非法请求。
{ "error_code" : "DCS.1004", "error_msg" : "Project ID does not match the token." }
状态码: 401
认证信息非法。
{ "error_code" : "DCS.1001", "error_msg" : "Invalid token." }
状态码: 403
请求被拒绝访问。
{ "error_code" : "DCS.2003", "error_msg" : "This role does not have the permission to perform this operation." }
状态码: 404
所请求的资源不存在。
{ "error_code" : "DCS.4001", "error_msg" : "The requested URL does not exist." }
状态码: 500
内部服务错误
{ "error_code" : "DCS.5000", "error_msg" : "Internal service error." }
状态码
状态码 |
描述 |
---|---|
200 |
下发创建缓存实例任务成功。
说明:
查看实例状态为RUNNING时,即缓存实例创建成功。 |
400 |
非法请求。 |
401 |
认证信息非法。 |
403 |
请求被拒绝访问。 |
404 |
所请求的资源不存在。 |
500 |
内部服务错误 |
错误码
请参见错误码。