华为云用户手册

  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024
  • 响应参数 状态码为 200 时: 参数 参数类型 描述 key String 标签键。 最大长度36个unicode字符。 values Array of strings 标签值。 每个值最大长度43个unicode字符。 可以为空字符串。 响应示例 { "tags": [ { "key": "001", "values": [ "002" ] }, { "key": "003", "values": [ "004" ] } ]}
  • API概览 表1 分布式缓存服务接口列表 类型 说明 生命周期管理 包括实例的创建、查询和删除,实例信息的修改以及实例扩容。 实例管理 包括重启实例、查询实例状态、修改密码、查询实例的统计信息等接口。 分片与副本 包括添加副本、设置备节点切换为主节点的优先级、查询分片信息等接口。 参数管理 包括查询和修改实例配置参数接口。 备份与恢复 包括备份实例、恢复实例、查看备份信息和恢复记录等接口 数据迁移 包括创建实例迁移任务接口。 标签管理 用户管理实例标签的接口,包括为实例添加标签、删除标签、查询标签以及查询租户所有标签。 缓存分析 包括设置大Key和热Key分析任务、查询大Key和热Key等接口。 日志管理 包括查询慢日志的接口。 IP白名单管理 包括为指定实例设置IP白名单分组、查询实例的IP白名单的接口。 后台任务管理 包括查询后台任务列表、删除后台任务的接口。 实例诊断 包括查询可用区信息、产品规格列表以及维护时间窗等接口。 模板管理 包含查询参数模板列表、创建自定义模板接口。 其他接口 包括查询产品规格、查询维护时间窗时间段、查询可用区信息等。
  • 请求消息 请求参数 参数说明见表2。 表2 参数说明 参数 类型 必选 说明 name String 否 实例名称。 由英文字符开头,只能由英文字母、数字、中划线和下划线组成。 创建单个实例时,名称长度为4到64位的字符串。批量创建实例时,名称长度为4到56位的字符串,且实例名称格式为“自定义名称-n”,其中n从000开始,依次递增。例如,批量创建两个实例,自定义名称为dcs_demo,则两个实例的名称为dcs_demo-000和dcs_demo-001。 description String 否 实例的描述信息。 长度不超过1024的字符串。 说明: \与"在json报文中属于特殊字符,如果参数值中需要显示\或者"字符,请在字符前增加转义字符\,比如\\或者\"。 instance_backup_policy JSON 否 备份策略,实例类型为主备和集群时支持。详情参考表4和表5。 maintain_begin String 否 维护时间窗开始时间,格式为HH:mm:ss。 维护时间窗开始和结束时间必须为指定的时间段,可参考查询维护时间窗时间段获取。 开始时间必须为22:00:00、02:00:00、06:00:00、10:00:00、14:00:00和18:00:00。 该参数不能单独为空,若该值为空,则结束时间也为空。 maintain_end String 否 维护时间窗结束时间,格式为HH:mm:ss。 维护时间窗开始和结束时间必须为指定的时间段,可参考查询维护时间窗时间段获取。 结束时间在开始时间基础上加四个小时,即当开始时间为22:00:00时,结束时间为02:00:00。 该参数不能单独为空,若该值为空,则开始时间也为空。 security_group_id String 否 安全组ID。 可从虚拟私有云服务的控制台界面或者API接口查询得到。 请求示例 请求URL: PUT https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id} 示例1: { "description": "instance description"} 示例2: { "name": "dcs002", "description": "instance description", "instance_backup_policy": { "backup_type": "auto", "save_days": 1, "periodical_backup_plan": { "begin_at": "00:00-01:00", "period_type": "weekly", "backup_at": [ "1", "2", "3", "4", "6", "7" ] } }, "security_group_id": "18e9309f-f81a-4749-bb21-f74576292162", "maintain_begin": "02:00:00", "maintain_end": "06:00:00"}
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2022-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "XXXXXX",...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error": { "code": "111400060", "message": "instance name exists." }} 其中,code表示错误码,message表示错误描述信息。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } }} 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projectsContent-Type: application/jsonX-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 响应示例 状态码: 200 查询所有实例列表成功。 { "instance_num" : 1, "instances" : [ { "publicip_id" : { }, "vpc_name" : "dcs-beta", "charging_mode" : 0, "vpc_id" : "5e37b3be-950a-48e1-b498-65b63d336481", "subnet_id" : "a4112635-3ec0-471c-95c3-5cf49b9533af", "user_name" : "clouduser", "created_at" : "2022-08-29T09:00:34.335Z", "updated_at" : "2022-08-29T09:00:34.335Z", "enable_ssl" : false, "max_memory" : 128, "publicip_address" : null, "capacity" : 0, "order_id" : null, "maintain_begin" : "18:00:00", "engine" : "Redis", "maintain_end" : "19:00:00", "capacity_minor" : ".125", "service_upgrade" : false, "no_password_access" : true, "service_task_id" : "", "ip" : "192.168.0.195", "used_memory" : 2, "access_user" : null, "instance_id" : "c830053e-d5a3-4bc0-b6d6-ca37d1ea9dd5", "enable_publicip" : false, "port" : 6379, "user_id" : "d53977d1adfb49c5b025ba7d33a13fd7", "domain_name" : "redis-c830053e-d5a3-4bc0-b6d6-ca37d1ea9dd5.dcs.xxx.com", "name" : "dcs-lpvo0829", "spec_code" : "redis.ha.xu1.tiny.r2.128", "engine_version" : "5.0", "status" : "RUNNING", "security_group_id" : "securityGroupId", "enterprise_project_id" : 0, "tags" : [ { "key" : 1, "value" : "DCS" } ], "az_codes" : [ "region01", "region02" ], "description" : "实例描述备注", "cpu_type" : "x86_64", "features" : { "support_acl" : true, "support_transparent_client_ip" : true, "support_ssl" : false }, "sub_status" : "normal" } ]} 状态码: 400 非法请求。 { "error_code" : "DCS.4800", "error_msg" : "Invalid offset in the request."}
  • 响应示例 状态码: 200 查询运行日志成功。如果没有日志则会返回'204' { "total_num" : 1, "file_list" : [ { "id" : "e79f2d97-e972-41f2-b51c-d18f65f39a45", "file_name" : "redis_192.168.0.142_2021-04-16.log", "status" : "succeed", "time" : "2021-04-16", "replication_ip" : "192.168.0.142", "group_name" : "group-0", "backup_id" : "e79f2d97-e972-41f2-b51c-d18f65f39a45" } ]} 状态码: 400 非法请求。 { "error_code" : "DCS.4800", "error_msg" : "Invalid logType."}
  • URI GET /v2/{project_id}/instances/{instance_id}/redislog 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 instance_id 是 String 实例ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset大于等于0 limit 否 Integer 每页显示的条目数量。 log_type 是 String 返回日志的类型,当前仅支持Redis运行日志,类型为run
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total_num Integer 总数 file_list Array of RunlogItem objects 运行日志列表 表4 RunlogItem 参数 参数类型 描述 id String 日志的唯一标识 file_name String 运行日志文件名 group_name String 分片名称 replication_ip String 采集运行日志所在副本的IP status String 获取运行日志状态 time String 运行日志采集的日期,格式为"yyyy-MM-dd" backup_id String 日志文件的ID 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 tags Array of ResourceTag objects 标签列表。 表3 ResourceTag 参数 参数类型 描述 key String 标签键 不能为空。 对于同一资源键值唯一。 长度不超过36个字符。 标签的键必须唯一且输入不能为空。 value String 标签值 action为create时必选。action为delete时非必选。 长度不超过43个字符。
  • 响应参数 状态码: 400 表2 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 500 表3 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024
  • URI POST /v1.0/{project_id}/dcs/{instance_id}/tags/action 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 instance_id 是 String 实例ID。 URI示例: Post https://dcs.ap-southeast-3.myhuaweicloud.com/v1.0/7dddae81f0e34f62adb9618bc8c8b1fe/dcs/01928d55-7020-4500-9c29-774caabe4bc4/tags/action
  • 响应参数 状态码为 200 时: 表1 响应参数 参数 参数类型 描述 tags Array of objects 标签列表。具体参数请参见表2 表2 tags参数说明 参数 参数类型 描述 key String 标签键。 不能为空。 对于同一资源键值唯一。 长度不超过36个字符。 value String 标签值。 长度不超过43个字符。 可以为空字符串。 响应示例 状态码为 200 时: { "tags": [ { "key": "001", "value": "002" }, { "key": "003", "value": "004" } ]}
  • 请求参数 请求参数 表1 请求参数 参数 是否必选 参数类型 描述 action 是 String 操作标识:仅限于create(创建)、delete(删除)。 tags 是 Array of objects 标签列表。具体参数,请参考表2。 表2 tags参数说明 参数 是否必选 参数类型 描述 key 是 String 标签键。 不能为空。 对于同一资源键值唯一。 长度不超过36个字符。 value 否 String 标签值。 action为create时,必选。action为delete时,非必选。 长度不超过43个字符。 请求实例 { "action": "create", "tags": [ { "key": "dcs001", "value": "002" }, { "key": "dcs003", "value": "004" }]}
  • 步骤1:查询待删除实例的ID 查询实例ID。 接口相关信息 URI格式:GET /v2/{project_id}/instances 调试 您可以在API Explorer中调试该接口。 请求示例 GET https://{dcs_endpoint}/v2/7d80ae32f57b499eb8781f9a9f57c538/instances {dcs_endpoint}信息,请从地区和终端节点获取。 响应示例 {"instances": [{"free": null,"max_memory": 1024,"used_memory": 2,"instance_id": "aabe73af-1db8-4401-b39c-c56996023989","name": "dcs-8b1c-000","resource_spec_code": "redis.ha.xu1.large.r2.1","engine": "Redis","engine_version": "5.0","internal_version": null,"charging_mode": 0,"capacity": 1,"capacity_minor": null,"vpc_id": "cec3dca1-3700-4305-8eb0-5669c01f05b6","vpc_name": null,"ip": "192.168.0.12","domainName": "redis-aabe73a-dcs-8b1c-000.dcs.huaweicloud.com","domain_name": "redis-aabe73a-dcs-8b1c-000.dcs.huaweicloud.com","readonlyDomainName": null,"readonly_domain_name": null,"port": 6379,"status": "RUNNING","freeze_scene": null,"created_at": "2020-06-18T03:11:30.615Z","update_at": "2020-06-18T03:11:58.936Z","error_code": null,"user_id": "05040c67cc00256f1f28c009a1c2a0f7","user_name": "dcstest","maintain_begin": "02:00:00","maintain_end": "06:00:00","no_password_access": "true","access_user": null,"enable_publicip": false,"publicip_id": null,"publicip_address": null,"enable_ssl": false,"service_upgrade": false,"service_task_id": "","enterprise_project_id": "0","security_group_id": null,"tags": null,"product_type": "generic","cpu_type": "x86_64","storage_type": "DRAM","task_status": null,"launched_at": "2020-06-18T03:11:58.945Z","is_free": null,"libos": false,"cache_mode": "ha","available_zones": ["dfeb4826256b47aa828e72d7522e108c","043c7e39ecb347a08dc8fcb6c35a274e"],"subnet_id": "e6eb5ff4-da2a-4323-bddc-c7b179f9aa1e","backend_addrs": null,"crr_role": null,"cloud_service_type_code": "hws.service.type.dcs","cloud_resource_type_code": "hws.resource.type.dcs3","support_slow_log_flag": null,"ipv6": null,"enable_ipv6": false,"description": ""},{"free": null,"max_memory": 1024,"used_memory": 2,"instance_id": "9d78d0f4-a110-4bcd-8ca3-5aec414163c1","name": "dcs-8b1c-001","resource_spec_code": "redis.ha.xu1.large.r2.1","engine": "Redis","engine_version": "5.0","internal_version": null,"charging_mode": 0,"capacity": 1,"capacity_minor": null,"vpc_id": "cec3dca1-3700-4305-8eb0-5669c01f05b6","vpc_name": null,"ip": "192.168.0.33","domainName": "redis-9d78d0f-dcs-8b1c-001.dcs.huaweicloud.com","domain_name": "redis-9d78d0f-dcs-8b1c-001.dcs.huaweicloud.com","readonlyDomainName": null,"readonly_domain_name": null,"port": 6379,"status": "RUNNING","freeze_scene": null,"created_at": "2020-06-18T03:11:30.618Z","update_at": "2020-06-18T03:11:58.937Z","error_code": null,"user_id": "05040c67cc00256f1f28c009a1c2a0f7","user_name": "dcstest","maintain_begin": "02:00:00","maintain_end": "06:00:00","no_password_access": "true","access_user": null,"enable_publicip": false,"publicip_id": null,"publicip_address": null,"enable_ssl": false,"service_upgrade": false,"service_task_id": "","enterprise_project_id": "0","security_group_id": null,"tags": null,"product_type": "generic","cpu_type": "x86_64","storage_type": "DRAM","task_status": null,"launched_at": "2020-06-18T03:11:58.943Z","is_free": null,"libos": false,"cache_mode": "ha","available_zones": ["dfeb4826256b47aa828e72d7522e108c","043c7e39ecb347a08dc8fcb6c35a274e"],"subnet_id": "e6eb5ff4-da2a-4323-bddc-c7b179f9aa1e","backend_addrs": null,"crr_role": null,"cloud_service_type_code": "hws.service.type.dcs","cloud_resource_type_code": "hws.resource.type.dcs3","support_slow_log_flag": null,"ipv6": null,"enable_ipv6": false,"description": ""}],"instance_num": 2} 根据需要,记录要删除实例的instance_id。
  • 步骤2:批量删除实例 接口相关信息 URI格式:DELETE /v2/{project_id}/instances 调试 您可以在API Explorer中调试该接口。 请求示例 DELETE https://{dcs_endpoint}/v2/{project_id}/instances {dcs_endpoint}信息,请从地区和终端节点获取。 Body: { "instances": [ "aabe73af-1db8-4401-b39c-c56996023989", "9d78d0f4-a110-4bcd-8ca3-5aec414163c1" ]} 响应示例 { "results": [ { "result": "success", "instance": "aabe73af-1db8-4401-b39c-c56996023989" }, { "result": "success", "instance": "9d78d0f4-a110-4bcd-8ca3-5aec414163c1" } ]} 批量删除Redis实例的参数说明请参考批量删除实例。
  • 步骤2:确定待创建实例的子网 查询子网列表。 接口相关信息 URI格式:GET /v1/{project_id}/subnets?{vpc_id} 调试 您可以在API Explorer中调试该接口。 请求示例 GET https://{vpc_endpoint}/v1/7d80ae32f57b499eb8781f9a9f57c538/subnets?vpc_id=743bf021-2c2d-4511-aeac-85bd48c06af7 {vpc_endpoint}信息,请从地区和终端节点获取。 响应示例 {"subnets": [{"id": "b0d6e0ac-fcce-4e11-a4a6-707e851ae1c3","name": "subnet-d2e4","description": "","cidr": "192.168.0.0/24","dnsList": ["100.125.1.250","100.125.129.250"],"status": "ACTIVE","vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7","ipv6_enable": false,"gateway_ip": "192.168.0.1","dhcp_enable": true,"primary_dns": "100.125.1.250","secondary_dns": "100.125.129.250","availability_zone": "cn-southwest-2a","neutron_network_id": "b0d6e0ac-fcce-4e11-a4a6-707e851ae1c3","neutron_subnet_id": "3d4ccce0-cadc-4af4-8c21-14d2857ffe5e","extra_dhcp_opts": []}]} 根据需要,记录子网ID。
  • 步骤5:查询创建结果 接口相关信息 URI格式:GET /v2/{project_id}/instances/{instance_id} 调试 您可以在API Explorer中调试该接口。 请求示例 GEThttps://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/instances/21bc7b53-2494-4f10-bb0b-c0b913d9e329 {dcs_endpoint}信息请从地区和终端节点获取。 响应示例 {"free": null,"max_memory": 2048,"used_memory": 1,"instance_id": "21bc7b53-2494-4f10-bb0b-c0b913d9e329","name": "dcs-api-test","resource_spec_code": "redis.single.au1.large.2","engine": "Redis","engine_version": "5.0","internal_version": null,"charging_mode": 0,"capacity": 2,"capacity_minor": null,"vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7","vpc_name": "vpc-d2d4","ip": "192.168.0.100","domain_name": "redis-88a7bbb-dcs-api-test.dcs.huaweicloud.com","readonly_domain_name": null,"port": 6379,"status": "RUNNING","freeze_scene": null,"created_at": "2020-06-05T03:30:36.273Z","update_at": "2020-06-05T03:30:47.231Z","error_code": null,"user_id": "d53977d1adfb49c5b025ba7d33a13fd7","user_name": "paas_dcs_a00421997_02","maintain_begin": "02:00:00","maintain_end": "06:00:00","no_password_access": "true","access_user": null,"enable_publicip": false,"publicip_id": null,"publicip_address": null,"enable_ssl": false,"service_upgrade": false,"service_task_id": "","enterprise_project_id": "0","security_group_id": null,"tags": [],"product_type": "generic","cpu_type": "aarch64","storage_type": "DRAM","launched_at": "2020-06-05T03:30:47.238Z","is_free": null,"libos": false,"cache_mode": "single","available_zones": ["d539378ec1314c85b76fefa3f7071458"],"subnet_id": "a4112635-3ec0-471c-95c3-5cf49b9533af","backend_addrs": null,"crr_role": null,"cloud_service_type_code": "hws.service.type.dcs","cloud_resource_type_code": "hws.resource.type.dcs3","support_slow_log_flag": null,"ipv6": null,"enable_ipv6": false,"description": "","product_id": "redis.single.au1.large.2-h","security_group_name": null,"subnet_name": "dcs-beta","order_id": null,"subnet_cidr": "192.168.0.0/24","task": null,"instance_backup_policy": null,"enterprise_project_name": null} 实例状态为RUNNING时,即创建成功。
  • 步骤1:确定待创建实例的VPC 查询VPC列表。 接口相关信息 URI格式:GET /v1/{project_id}/vpcs 调试 您可以在API Explorer中调试该接口。 请求示例 GET https://{vpc_endpoint}/v1/7d80ae32f57b499eb8781f9a9f57c538/vpcs {vpc_endpoint}信息,请从地区和终端节点获取。 响应示例 {"vpcs": [{"id": "743bf021-2c2d-4511-aeac-85bd48c06af7","name": "vpc-d2d4","description": "","cidr": "192.168.0.0/16","status": "OK","routes": [],"enterprise_project_id": "0"}]} 根据需要,记录VPC ID。
  • 步骤3:确定待创建实例的产品规格 查询产品规格。 接口相关信息 URI格式:GET /v2/{project_id}/flavors?spec_code={spec_code}&cache_mode={cache_mode}&engine={engine}&engine_version={engine_version}&cpu_type={cpu_type}&capacity={capacity} 调试 您可以在API Explorer中调试该接口。 请求示例 GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/flavors?cache_mode=single&engine=Redis&engine_version=5.0&cpu_type=aarch64&capacity=2 {dcs_endpoint}信息请从地区和终端节点获取。 响应示例 [{"dec": false,"spec_code": "redis.single.au1.large.2","cloud_service_type_code": "hws.service.type.dcs","cloud_resource_type_code": "hws.resource.type.dcs3","cache_mode": "single","engine": "redis","engine_version": "4.0;5.0","product_type": "generic","cpu_type": "aarch64","storage_type": "DRAM","capacity": ["2"],"billing_mode": ["Hourly","RI","Monthly","Yearly"],"tenant_ip_count": 1,"pricing_type": "normal","is_dec": false,"attrs": [{"capacity": "2","name": "max_memory","value": "2"},{"capacity": "2","name": "max_connections","value": "10000"},{"capacity": "2","name": "sharding_num","value": "1"},{"capacity": "2","name": "proxy_num","value": "0"},{"capacity": "2","name": "db_number","value": "256"},{"capacity": "2","name": "max_clients","value": "10000"},{"capacity": "2","name": "max_bandwidth","value": "128"}],"flavors_available_zones": [{"capacity": "2","unit": "GB","available_zones": ["a0865121f83b41cbafce65930a22a6e8","effdcbc7d4d64a02aa1fa26b42f56533"],"az_codes": ["cn-north-4b","cn-north-4a"]}]}] 根据需要选择产品类型,并记录产品规格编码和有资源的可用区编码。
  • 步骤4:创建实例 接口相关信息 URI格式:POST /v2/{project_id}/instances 调试 您可以在API Explorer中调试该接口。 请求示例 POST https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/instances {dcs_endpoint}信息请从地区和终端节点获取。 Body: {"az_codes": ["cn-north-4a"],"capacity": 2,"engine": "Redis","engine_version": "5.0","name": "dcs-api-test","no_password_access": true,"security_group_id": "1982d3a8-67a0-4fc9-a850-bc42a26ba2c0","spec_code": "redis.single.xu1.large.2","subnet_id": "b0d6e0ac-fcce-4e11-a4a6-707e851ae1c3","vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7"} 响应示例 {"instances": [{"instance_id": "21bc7b53-2494-4f10-bb0b-c0b913d9e329","instance_name": "dcs-api-test"}]} 创建Redis实例的参数说明请参考创建缓存实例。
  • 概述 欢迎使用分布式缓存服务(Distributed Cache Service)。分布式缓存服务是一款内存数据库服务,兼容了Redis和Memcached两种内存数据库引擎,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。 您可以使用本文档提供API对分布式缓存服务进行相关操作,如创建、删除、扩容等。支持的全部操作请参见API概览。 在调用分布式缓存服务API之前,请确保已经充分了解分布式缓存服务相关概念,详细信息请参见产品介绍。 部分接口仅在指定region支持,请以实际为准。 DCS服务持续增加新的功能,将不可避免对现有接口有所调整,比如增加响应参数。 为了减少接口变更带来的影响,除了DCS服务自身尽量做到接口向下兼容的同时,用户在使用过程中,应当接受出现返回内容(JSON格式)含有未使用的参数和值的现象,即能够正常忽略未使用的参数和值。 关于客户端连接缓存实例,请参考用户指南中的连接Redis缓存实例、连接Memcached缓存实例,有Redis、Memcached的多语言客户端连接示例说明。 父主题: 使用前必读
  • 实例诊断ID说明 表1 cause_ids ID ID类型 ID说明 1 cause 活跃连接数超过{THRESHOLD} 2 cause 瞬时流量过大 3 cause 底层磁盘异常 4 cause 持久化失败 5 cause 内存使用量超过{THRESHOLD} 6 cause 已开启RDB,内存使用量超过{THRESHOLD} 7 cause Redis内部内存碎片率过高 8 cause 缓存命中率低于{THRESHOLD} 9 cause 大量key集中过期 10 cause 执行了O(N)时间复杂度命令:{COMMANDS} 11 cause CPU负载高于{THRESHOLD} 12 cause 执行持久化 13 cause QPS升高 表2 impact_ids ID ID类型 ID说明 1 impact Redis拒绝连接 2 impact Redis断开连接 3 impact Redis响应变慢 4 impact RDB持久化失败 5 impact 缓存命中率下降 6 impact AOF持久化失败 表3 advice_ids ID ID类型 ID说明 1 advice 客户端使用连接池复用已有连接 2 advice 采用读写分离或集群 3 advice 扩容 4 advice 业务低峰期手动执行memory purge 5 advice 排查Redis使用方法或降低缓存粒度,减少内存逐出 6 advice 分散设置key过期时间 7 advice 避免使用O(N)时间复杂度命令 父主题: 附录
  • 步骤1:确定源实例的IP和端口 查询指定实例的IP和端口。 接口相关信息 URI格式:GET /v2/{project_id}/instances/{instance_id} 调试 您可以在API Explorer中调试该接口。 请求示例 GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/instances/21bc7b53-2494-4f10-bb0b-c0b913d9e329 {dcs_endpoint}信息请从地区和终端节点获取。 响应示例 {"free": null,"max_memory": 2048,"used_memory": 1,"instance_id": "21bc7b53-2494-4f10-bb0b-c0b913d9e329","name": "dcs-api-test","resource_spec_code": "redis.single.au1.large.2","engine": "Redis","engine_version": "5.0","internal_version": null,"charging_mode": 0,"capacity": 2,"capacity_minor": null,"vpc_id": "743bf021-2c2d-4511-aeac-85bd48c06af7","vpc_name": "vpc-d2d4","ip": "192.168.0.100","domain_name": "redis-88a7bbb-dcs-api-test.dcs.huaweicloud.com","readonly_domain_name": null,"port": 6379,"status": "RUNNING","freeze_scene": null,"created_at": "2020-06-05T03:30:36.273Z","update_at": "2020-06-05T03:30:47.231Z","error_code": null,"user_id": "d53977d1adfb49c5b025ba7d33a13fd7","user_name": "paas_dcs_a00421997_02","maintain_begin": "02:00:00","maintain_end": "06:00:00","no_password_access": "true","access_user": null,"enable_publicip": false,"publicip_id": null,"publicip_address": null,"enable_ssl": false,"service_upgrade": false,"service_task_id": "","enterprise_project_id": "0","security_group_id": null,"tags": [],"product_type": "generic","cpu_type": "aarch64","storage_type": "DRAM","launched_at": "2020-06-05T03:30:47.238Z","is_free": null,"libos": false,"cache_mode": "single","available_zones": ["d539378ec1314c85b76fefa3f7071458"],"subnet_id": "a4112635-3ec0-471c-95c3-5cf49b9533af","backend_addrs": null,"crr_role": null,"cloud_service_type_code": "hws.service.type.dcs","cloud_resource_type_code": "hws.resource.type.dcs3","support_slow_log_flag": null,"ipv6": null,"enable_ipv6": false,"description": "","product_id": "redis.single.au1.large.2-h","security_group_name": null,"subnet_name": "dcs-beta","order_id": null,"subnet_cidr": "192.168.0.0/24","task": null,"instance_backup_policy": null,"enterprise_project_name": null} 根据需要,记录实例的IP和端口。
  • 步骤3:查询迁移结果 接口相关信息 URI格式:GET /v2/{project_id}/migration-task/{task_id} 调试 您可以在API Explorer中调试该接口。 请求示例 GET https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/migration-task/8aa6999f727f0a40017283479d730d7c {dcs_endpoint}信息请从地区和终端节点获取。 响应示例 {"task_name": "dcs-test-migration","task_id": "8aa6999f727f0a40017283479d730d7c","description": null,"status": "SUCCESS","migration_type": "online_migration","migration_method": "full_amount_migration","backup_files": null,"network_type": "vpc","bandwidth_limit_mb": null,"source_instance": {"id": null,"ip": "192.168.0.79:6379","port": null,"name": null,"password": null,"addrs": null},"target_instance": {"id": "92b2b922-0f96-4664-acc5-04d922867c4d","ip": null,"port": null,"name": "dcs-xwvq","password": null,"addrs": null},"created_at": "2020-06-05T07:00:08.204Z","updated_at": "2020-06-05T07:03:25.075Z"} 任务状态为SUCCESS时,即迁移成功。
  • 步骤2:创建数据迁移任务 接口相关信息 URI格式:POST /v2/{project_id}/migration-task 调试 您可以在API Explorer中调试该接口。 请求示例 POST https://{dcs_endpoint}/v2/666486c2d9b948c1bbea57e714d744fa/migration-task {dcs_endpoint}信息请从地区和终端节点获取。 Body: {"migration_method": "full_amount_migration","migration_type": "online_migration","network_type": "vpc","source_instance": {"addrs": "192.168.0.79:6379"},"target_instance": {"id": "92b2b922-0f96-4664-acc5-04d922867c4d"},"task_name": "dcs-test-migration"} 响应示例 {"id": "8aa6999f727f0a40017283479d730d7c","name": "dcs-test-migration","status": "MIGRATING","error": ""} 创建数据迁移任务的参数说明请参考创建备份导入任务。
  • 响应示例 状态码: 200 获取日志下载链接成功 { "id" : "3ea6ce21-048e-447a-83c3-3fb004b88439", "backup_id" : "3ea6ce21-048e-447a-83c3-3fb004b88439", "link" : "https://bucketxxxxx.{obs_endpoint}:443/xxxxx/redis_192.168.x.x_2021-04-16.log?AWSAccessKeyId=xxxxx"}
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 id String 日志id backup_id String 后台任务id link String 日志下载链接,默认有效时间为24小时 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最大长度:1024 error_code String 错误码 最大长度:9 error_ext_msg String 扩展错误信息(暂未使用,赋值为null) 最大长度:1024
共100000条