华为云用户手册

  • URI GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/backups/restorable-time-periods 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户在某一region下的project ID。获取方法请参见获取项目ID。 instance_id 是 String 实例Id,可以调用5.3.3 查询实例列表和详情接口获取。如果未申请实例,可以调用5.3.1 创建实例接口创建。 表2 Query参数 参数 是否必选 参数类型 描述 start_time 否 String 查询的可恢复时间段的开始时间点,为yyyy-mm-ddThh:mm:ssZ字符串格式,T指某个时间的开始,Z指时区偏移量。 例如北京时间偏移显示为+0800。默认值为当前查询时间的前一天。 end_time 否 String 查询的可恢复时间段的结束时间点,为yyyy-mm-ddThh:mm:ssZ字符串格式,T指某个时间的开始,Z指时区偏移量。 例如北京时间偏移显示为+0800。默认值为当前查询时间。 offset 否 Integer 偏移量,表示查询该偏移量后面的记录,默认值为0。 limit 否 Integer 查询返回记录的数量上限值,取值范围为0~1000,默认值为1000。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total_count Integer 实例可恢复时间段总数。 restorable_time_periods Array of restorableTime objects 实例可恢复的时间段。 表5 restorableTime 参数 参数类型 描述 start_time Long 可恢复时间段的开始时间点,UNIX时间戳格式,单位是毫秒,时区是UTC。 end_time Long 可恢复时间段的结束时间点, UNIX时间戳格式,单位是毫秒,时区是UTC。
  • 请求示例 URI样例 GET https://gaussdb-nosql.cn-north-4.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/a4d8ea2584e047439a667703c0684119in06/backups/restorable-time-periods?start_time=2022-06-01T18:50:20+0800&end_time=2022-06-01T19:50:20+0800&offset=0&limit=1000
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 operation 是 String 指定预校验的具体容灾操作。 取值construction,表示搭建实例的容灾关系。 取值deconstruction,表示解除实例的容灾关系。 disaster_recovery_instance 否 object 与当前实例建立容灾关系的实例信息。详情请参考表4。 说明: operation取值construction时该字段必须下发。 operation取值deconstruction时该字段无需下发。 表4 TargetDisasterRecoveryInstance 参数 是否必选 参数类型 描述 node_ips 是 Array of strings 与当前实例建立容灾关系实例的节点IP列表。 spec_code 是 String 与当前实例建立容灾关系实例的规格码。 vpc_cidr 是 String 与当前实例建立容灾关系实例的vpc网段。
  • 请求示例 URI样例 POST https://gaussdb-nosql.cn-north-7.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/054e292c9880d4992f02c0196d3ein12/disaster-recovery/precheck 校验实例是否可以与特定实例建立容灾关系 { "operation" : "construction", "disaster_recovery_instance" :{ "node_ips" : [ "10.0.1.2", "10.0.1.3", "10.0.1.4" ], "spec_code" : "geminidb.redis.xlarge.4", "vpc_cidr" : "10.0.0.0/16" } } 校验实例是否可以与特定实例解除容灾关系 { "operation" : "deconstruction" }
  • URI POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/disaster-recovery/precheck 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。获取方法请参见获取项目ID。 instance_id 是 String 实例ID。
  • 响应示例 状态码: 200 Success { "configuration" : { "id" : "463b4b58d0e84e2b95605dea4552fdpr06", "name" : "configuration_test", "datastore_version_name" : "3.11", "datastore_name" : "cassandra", "description" : "configuration_test", "created" : "2020-03-09T08:27:56+0800", "updated" : "2020-03-09T08:27:56+0800" } }
  • 请求示例 URI样例 POST https://gaussdb-nosql.cn-north-4.myhuaweicloud.com/v3/375d8d8fad1f43039e23d3b6c0f60a19/configurations 创建Cassandra参数模板 { "name" : "configuration_test", "description" : "configuration_test", "values" : { "max_connections" : "10", "autocommit" : "OFF" }, "datastore" : { "type" : "cassandra", "version" : "3.11" } }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 configuration ConfigurationResult object 参数模板信息。 表6 ConfigurationResult 参数 参数类型 描述 id String 参数模板ID。 name String 参数模板名称。 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 description String 参数模板描述。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。
  • 请求示例 URI样例 PUT https://gaussdb-nosql.cn-north-7.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/392850e624504e1490901d50b585a60din06/configurations 修改指定实例的参数 { "values" : { "request_timeout_in_ms" : "10000" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 size 是 Integer 待扩容到的磁盘容量。取值为整数,并且大于当前磁盘容量。 磁盘容量最大值的大小与所选接口类型以及规格相关。 GeminiDB Cassandra请参见数据库实例规格。 GeminiDB Mongo请参见数据库实例规格。 GeminiDB Influx请参见数据库实例规格。 GeminiDB Redis请参见数据库实例规格。 is_auto_pay 否 String 创建包周期实例时可指定,表示是否自动从账户中支付,此字段不影响自动续订的支付方式。 true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该方式。
  • 响应示例 状态码: 200 Success { "id" : "07fc12a8e0e94df7a3fcf53d0b5e1605pr06", "name" : "default-cassandra-3.11", "datastore_version_name" : "3.11", "datastore_name" : "cassandra", "description" : "Default parameter group for cassandra 3.11", "created" : "2020-03-21T04:40:51+0800", "updated" : "2020-03-21T04:40:51+0800", "configuration_parameters" : [ { "name" : "concurrent_reads", "value" : "64", "restart_required" : true, "readonly" : true, "value_range" : "4-512", "type" : "integer", "description" : "Number of concurrent read threads." } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 id String 参数模板ID。 name String 参数模板名称。 description String 参数模板描述。 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 configuration_parameters Array of ConfigurationParameterResult objects 参数对象,用户基于默认参数模板自定义的参数配置。 表4 ConfigurationParameterResult 参数 参数类型 描述 name String 参数名称。 value String 参数值。 restart_required Boolean 是否需要重启。 取值为“false”,不需要重启。 取值为“true”,需要重启。 readonly Boolean 是否只读。 取值为“false”,非只读参数。 取值为“true”,只读参数。 value_range String 参数值范围。示例:Integer类型取值范围为0~1、Boolean类型取值为“true”或“false”。 type String 参数类型。取值为“string”、“integer”、“boolean”、“list”或“float”。 description String 参数描述。
  • 响应示例 状态码: 200 Success { "histories" : [ { "parameter_name" : "mongos.connPoolMaxShardedConnsPerHost", "old_value" : "600", "new_value" : "500", "update_result" : "FAILED", "applied" : true, "updated_at" : "2022-09-20T11:17:04+0000", "applied_at" : "2022-09-20T11:17:04+0000" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 histories Array of ConfigurationHistoryRsp objects 实例参数的修改历史列表。 表5 ConfigurationHistoryRsp 参数 参数类型 描述 parameter_name String 参数名称。 old_value String 参数旧值。 new_value String 参数新值。 update_result String 更新结果。 SUC CES S:成功。 FAILED:失败。 applied Boolean true:已生效。 false:未生效。 updated_at String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 applied_at String 生效时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。
  • URI GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/configuration-histories 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。获取方法请参见获取项目ID。 instance_id 是 String 实例id 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 索引位置,偏移量。 从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询)。 取值必须为数字,不能为负数。 limit 否 Integer 查询个数上限值。 取值范围: 1~100。 不传该参数时,默认查询前100条信息。
  • 具体步骤 Token认证,具体操作请参考认证鉴权。 发送“POST https://{Endpoint}/v3/{project_id}/instances”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: 样例中参数“region”和“availability_zone”的值为示例值。 关于创建实例接口的详细说明,请参见创建实例。 { "name": "test-cassandra-01",//实例名称 "datastore": { "type": "cassandra",//数据库类型 "version": "3.11", //数据库版本 "storage_engine": "rocksDB"//存储引擎 }, "region": "aaa",//区域名称 "availability_zone": "bbb", //可用区名称 "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",//虚拟私有云ID "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",//子网ID "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",//安全组ID "password": "xxxx",//管理员密码 "mode": "Cluster", //实例类型 "flavor": [ { "num": 3,//节点数量 "size": 500,//磁盘大小 "storage": "ULTRAHIGH", //磁盘类型 "spec_code": "geminidb.cassandra.4xlarge.4" //资源规格编码 } ], "backup_strategy": { "start_time": "08:00-09:00",//备份时间段 "keep_days": "8"//备份文件的保留天数 }, "enterprise_project_id": "0"//企业项目ID } 请求成功后,返回如下信息: { "id": "39b6a1a278844ac48119d86512e0000bin06", "name": "test-cassandra-01", "datastore": { "type": "cassandra", "version": "3.11", "storage_engine": "rocksDB" }, "created": "2019-10-28 14:10:54", "status": "creating", "region": "aaa", "availability_zone": "bbb", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "mode": "Cluster", "flavor": [ { "num": 3, "size": 500, "storage": "ULTRAHIGH", "spec_code": "geminidb.cassandra.4xlarge.4" } ], "backup_strategy": { "start_time": "08:00-09:00", "keep_days": "8" }, "job_id": "c010abd0-48cf-4fa8-8cbc-090f093eaa2f", "enterprise_project_id": "0" } 若请求失败,会返回错误码及对应的错误信息说明,详细错误码信息请参见错误码。
  • 响应示例 状态码: 200 Success { "total_count": 1, "instances" : [{ "instance_id" : "2acbf2223caf3bac3c33c6153423c3ccin06", "instance_name" : "test-single", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] }] }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 instances Array of InstanceResult objects 实例列表。 total_count Integer 总记录数。 表7 InstanceResult 参数 参数类型 描述 instance_id String 实例ID。 instance_name String 实例名称。 tags Array of InstanceTagResult objects 标签列表。如果没有标签,默认为空数组。 表8 InstanceTagResult 参数 参数类型 描述 key String 标签键。最大长度36个unicode字符,key不能为空。 字符集:0-9,A-Z,a-z,“_”,“-”,中文。 value String 标签值。最大长度43个unicode字符,可以为空字符串。 字符集:0-9,A-Z,a-z,“_”,“.”,“-”,中文。
  • 请求示例 URI样例 POST https://gaussdb-nosql.cn-north-4.myhuaweicloud.com/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances/resource-instances/action 请求体样例 根据实例名称查询实例,索引位置偏移量为100,查询100条数据 { "offset" : 100, "limit" : 100, "action" : "filter", "matches" : [{ "key" : "instance_name", "value" : "test-single" }], "tags" : [{ "key" : "key1", "values" : [ "value1", "value2" ] }] } 查询总记录数 { "action" : "count", "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ], "matches" : [ { "key" : "instance_name", "value" : "test-single" }, { "key" : "instance_id", "value" : "958693039f284d6ebfb177375711072ein06" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 offset 否 String 索引位置偏移量,表示从第一条数据偏移offset条数据后开始查询。 “action”值为“count”时,不传该参数。 “action”值为“filter”时,取值必须为数字,不能为负数。默认取0值,表示从第一条数据开始查询。' limit 否 String 查询记录数。 “action”值为“count”时,不传该参数。 “action”值为“filter”时,取值范围:1~100。不传该参数时,默认查询前100条实例信息。 action 是 String 操作标识。 取值为“filter”,表示根据标签过滤条件查询实例。 取值为“count”,表示仅返回总记录数,禁止返回其他字段。 matches 否 Array of MatchOption objects 搜索字段。 该字段值为空,表示不按照实例名称或实例ID查询。 该字段值不为空。 tags 否 Array of TagOption objects 包含标签,最多包含20个key。 表4 MatchOption 参数 是否必选 参数类型 描述 key 是 String 取值为“instance_name”或“instance_id”,分别表示按实例名称或按实例ID匹配查询。 value 是 String 待匹配的实例名称或实例ID。 表5 TagOption 参数 是否必选 参数类型 描述 key 是 String 标签键。最大长度36个unicode字符,key不能为空或者空字符串,不能为空格,校验和使用之前先排除前后半角空格。 说明: 搜索时不对该参数做字符集校验。 values 是 Array of strings 标签值列表。最大长度43个unicode字符,不能为空格,校验和使用之前先排除前后半角空格。 如果values为空列表,则表示查询任意value。value之间为或的关系。
  • 认证鉴权 云数据库 GeminiDB支持通过Token认证的方式进行认证鉴权。 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "password", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。 父主题: 如何调用API
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of ListInstanceTagsResult objects 实例标签列表。 表4 ListInstanceTagsResult 参数 参数类型 描述 key String 标签键。最大长度36个unicode字符,key不能为空。 字符集:0-9,A-Z,a-z,“_”,“-”,中文。 value String 标签值。最大长度43个unicode字符,可以为空字符串。 字符集:0-9,A-Z,a-z,“_”,“.”,“-”,中文。
  • 请求示例 URI样例 POST https://gaussdb-nosql.cn-north-7.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/054e292c9880d4992f02c0196d3ein12/disaster-recovery/construction 搭建实例与特定实例的容灾关系,容灾关系别名为"视频业务容灾",密码为"*****",当前实例的容灾角色为"master" { "alias" : "视频业务容灾", "password" : "*****", "instance_role" : "master", "disaster_recovery_instance" : { "region_code" : "cn-north-4", "id" : "430e7468a309459eb83c5981001415dein12", "subnet_cidrs" : [ "10.0.1.0/24" ], "node_ips" : [ "10.0.1.2", "10.0.1.3", "10.0.1.4" ] } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 id 否 String 容灾ID。 对容灾角色为主的实例下发搭建容灾接口时不传该参数,接口成功响应后返回生成的容灾ID。 对容灾角色为备的实例下发搭建容灾接口时必传该参数,且必须与上述生成的容灾ID保持一致。 alias 是 String 搭建容灾关系的别名。 password 是 String 建立容灾关系所需要的容灾密码,搭建同一容灾关系的两次调用容灾密码必须保持一致。容灾密码为容灾集群内部数据通信所用,不能用于客户端连接使用。 instance_role 是 String 指定当前实例的容灾角色。取值为master或slave,表示在容灾关系中实例的容灾角色为主或备。 disaster_recovery_instance 是 object 与当前实例建立容灾关系的容灾实例信息。详情请参考表4。 表4 DisasterRecoveryInstance 参数 是否必选 参数类型 描述 id 是 String 容灾实例的ID。 region_code 是 String 容灾实例所在Region的code。 subnet_cidrs 是 Array of strings 与当前实例建立容灾关系实例所在子网的CIDR列表。 node_ips 是 Array of strings 与当前实例建立容灾关系实例的所有节点的IP列表。
  • URI POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/disaster-recovery/construction 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。获取方法请参见获取项目ID。 instance_id 是 String 实例ID。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 id String 参数模板ID。 mode String 数据库实例类型。 GeminiDB Cassandra集群类型为"Cluster"。 GeminiDB Mongo副本集类型为"ReplicaSet"。 GeminiDB Mongo集群类型为"Sharding"。 GeminiDB Influx集群类型为"Cluster"。 GeminiDB Influx单节点类型为"InfluxdbSingle"。 configuration_parameters Array of ConfigurationParameterResult objects 参数对象,用户基于默认参数模板自定义的参数配置。 表4 ConfigurationParameterResult 参数 参数类型 描述 name String 参数名称。 value String 参数值。 restart_required Boolean 是否需要重启。 取值为“false”,不需要重启。 取值为“true”,需要重启。 readonly Boolean 是否只读。 取值为“false”,非只读参数。 取值为“true”,只读参数。 value_range String 参数值范围。示例:Integer类型取值范围为0~1、Boolean类型取值为“true”或“false”。 type String 参数类型。取值为“string”、“integer”、“boolean”、“list”或“float”。 description String 参数描述。
  • 响应示例 状态码: 200 Success { "datastore_version_name" : "3.11", "datastore_name" : "cassandra", "created" : "2020-03-21 11:40:44", "updated" : "2020-03-21 11:40:44", "id": "9ad6bc82146e4043a50c963ab3bf09adpr06", "mode": "Cluster", "configuration_parameters" : [ { "name" : "concurrent_reads", "value" : "64", "restart_required" : true, "readonly" : true, "value_range" : "4-512", "type" : "integer", "description" : "Number of concurrent read threads." } ] }
  • 响应示例 状态码: 200 Success { "count" : 2, "quota": 100, "configurations" : [ { "id" : "887ea0d1bb0843c49e8d8e5a09a95652pr06", "name" : "configuration_test", "description" : "configuration_test", "datastore_version_name" : "3.11", "datastore_name" : "cassandra", "created" : "2019-05-15T11:53:34+0000", "updated" : "2019-05-15T11:53:34+0000", "mode": "Cluster", "user_defined" : true }, { "id" : "3bc1e9cc0d34404b9225ed7a58fb284epr06", "name" : "Default-Cassandra-3.11", "description" : "Default parameter group for cassandra 3.11", "datastore_version_name" : "3.11", "datastore_name" : "cassandra", "created" : "2019-05-27T03:38:51+0000", "updated" : "2019-05-27T03:38:51+0000", "mode": "Cluster", "user_defined" : false } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 总记录数。 quota Integer 用户可创建的自定义参数模板最大数量。 configurations Array of ListConfigurationsResult objects 参数模板列表。 表5 ListConfigurationsResult 参数 参数类型 描述 id String 参数模板ID。 name String 参数模板名称。 description String 参数模板描述。 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800 mode String 数据库实例类型。 GeminiDB Cassandra集群类型为"Cluster"。 GeminiDB Mongo副本集类型为"ReplicaSet"。 GeminiDB Mongo集群类型为"Sharding"。 GeminiDB Influx集群类型为"Cluster"。 GeminiDB Influx单节点类型为"InfluxdbSingle"。 user_defined Boolean 是否是用户自定义参数模板: false,表示为系统默认参数模板。 true,表示为用户自定义参数模板。
共100000条