云服务器内容精选

  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为 IAM 的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID,“name”即为项目名称。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应示例 { "task_id" : "59b6a1a278844ac48119d86512e0000", "task_scope" : "SQL", "task_name" : "test1", "limit_type" : "SQL_TYPE", "limit_type_value" : "select", "instance_id" : "cb651ac71c5a447685ef981e44a0422fin14", "key_words" : "test", "databases" : "test1", "status" : "creating", "parallel_size" : 100, "rule_name" : "dsa48119d86512e0000bin066a1a27", "start_time" : "2023-12-30T02:00:00Z", "end_time" : "2023-12-30T02:00:00Z", "created" : "2023-12-30T02:00:00Z", "updated" : "2023-12-30T02:00:00Z", "creator" : "dbs_rds_guangzhou_l00417929_01", "job_id" : "d8819ac11297598d06e591b5786aab86" }
  • 请求示例 创建限流范围是SQL级别,限流类型是SQL_ID的限流任务。 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task { "task_scope" : "SQL", "start_time" : "2023-06-06T01:47:20+0800", "end_time" : "2023-06-07T01:47:20+0800", "limit_type" : "SQL_ID", "limit_type_value" : "39b6a1a", "task_name" : "test1", "sql_model" : "select * from a where b = ?", "parallel_size" : 100, "node_infos" : [ { "node_id" : "46d996fdda594f58b17fe509061e0893no14", "sql_id" : "39b6a1a" } ] } 创建限流范围是SQL级别,限流类型是SQL_TYPE的限流任务。 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task { "task_scope" : "SQL", "start_time" : "2023-06-06T01:47:20+0800", "end_time" : "2023-06-07T01:47:20+0800", "limit_type" : "SQL_TYPE", "limit_type_value" : "select", "task_name" : "test1", "key_words" : "table1,id", "parallel_size" : 100, "databases" : "test1" } 创建限流范围是SESSION级别,限流类型是SESSION_ACTIVE_MAX_COUNT的限流任务。 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task { "task_name" : "test", "task_scope" : "SESSION", "limit_type" : "SESSION_ACTIVE_MAX_COUNT", "limit_type_value" : "CPU_OR_MEMORY", "cpu_utilization" : 80, "memory_utilization" : 80, "parallel_size" : 100 }
  • 响应参数 表5 响应Body参数 参数 参数类型 描述 task_id String 限流任务ID。 task_scope String 任务限流范围。 limit_type String 任务限流类型。 limit_type_value String 任务限流类型值。 databases String 实例的数据库列表,每个数据库以英文逗号形式隔开。 task_name String 限流任务名。 sql_model String SQL模板,仅当任务类型为SQL_ID时,返回该值。 key_words String 关键词,仅当任务类型为SQL_TYPE时,返回该值。 status String 限流任务状态,当前支持:CREATING,UPDATING,DELETING,WAIT_EXECUTE,EXCUTING,TIME_OVER,DELETED,CREATE_FAILED,UPDATE_FAILED,DELETE_FAILED,EXCEPTION,NODE_SHUT_DOWN。 instance_id String 实例ID。 rule_name String 规则名。 parallel_size Integer 并发数。 cpu_utilization Integer CPU利用率阈值,仅当任务类型为SESSION_ACTIVE_MAX_COUNT时,返回该值且只保留整数部分。 memory_utilization Integer 内存利用率阈值,仅当任务类型为SESSION_ACTIVE_MAX_COUNT时,返回该值且只保留整数部分。 start_time String 限流任务开始时间,格式为yyyy-mm-ddThh:mm:ssZ。当“task_scope”为SQL时会返回该参数。 end_time String 限流任务结束时间,格式为yyyy-mm-ddThh:mm:ssZ。当“task_scope”为SQL时会返回该参数。 created String 创建时间,格式为yyyy-mm-ddThh:mm:ss+0000。 updated String 更新时间,格式为yyyy-mm-ddThh:mm:ss+0000。 creator String 创建者。 modifier String 更新者。 node_infos Array of 表6 objects CN节点信息列表,如果类型为SQLID,返回该值且与请求参数相同。 job_id String 工作流ID。 表6 CreateLimitTaskNodeResult 参数 参数类型 描述 node_id String 节点ID。 sql_id String 该节点执行的SQL语句ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 语言。 缺省值:en-us 枚举值: zh-cn en-us 表3 请求Body参数 参数 是否必选 参数类型 描述 task_scope 是 String 限流任务范围,目前支持SQL,SESSION两种级别范围。 start_time 否 String 任务开始时间,当“task_scope”为SQL时必传。 取值范围:大于等于当前时间(UTC时间)的前两分钟。 格式必须为yyyy-mm-ddThh:mm:ss+0000。 end_time 否 String 任务结束时间,当“task_scope”为SQL时必传。 取值范围:大于任务开始时间。 格式必须为yyyy-mm-ddThh:mm:ss+0000。 limit_type 是 String 限流类型。 当“task_scope”为SQL时,可选SQL_ID、SQL_TYPE类型。 当“task_scope”为SESSION时,可选SESSION_ACTIVE_MAX_COUNT类型。 limit_type_value 是 String 限流类型值。 当“limit_type”为SQL_ID类型时,该值为选中模板的sql_id。 当“limit_type”为SQL_TYPE类型时,值为SQL类型,目前支持select,update,insert,delete,merge。 当“limit_type”为SESSION_ACTIVE_MAX_COUNT类型时,只支持CPU_OR_MEMORY一种值。 key_words 否 String 关键词,当“limit_type”为SQL_TYPE时,必传。 多个关键词以逗号隔开,数量范围为[2,100]个,每个关键词长度范围[2,64]位,关键词不允许包含 " 或 \ 或 {} 或 null值以及非首尾的空格符。 task_name 是 String 限流任务名称,只能为英文字母大小写,下划线,数字和$符,最大长度为100个字符。 sql_model 否 String SQL模板。如果“limit_type”为SQLID,必传。 parallel_size 是 Integer 并发数,大于等于零的整数,取值范围[0, 2147483647]。 cpu_utilization 否 Integer CPU利用率阈值,整数,取值范围[0,100)。 如果“limit_type”为SESSION_ACTIVE_MAX_COUNT,则“cpu_utilization”必选。 不支持和内存利用率阈值同时为0,如果选择只限制CPU、内存中的其中一个,则另一个必须传值0。 memory_utilization 否 Integer 内存利用率阈值,整数,取值范围[0,100)。 如果“limit_type”为SESSION_ACTIVE_MAX_COUNT,则“memory_utilization”必选。 不支持和CPU利用率阈值同时为0,如果选择只限制CPU、内存中的其中一个,则另一个必须传值0。 databases 否 String 实例的数据库列表,每个数据库以英文逗号形式隔。 如果“limit_type”为SQL_TYPE,则“databases”必选。 node_infos 否 Array of objects CN节点信息列表,详情参见表4。 如果“limit_type”为SQL_ID,则“node_infos”必选。 表4 CreateLimitTaskNodeOption 参数 是否必选 参数类型 描述 node_id 是 String 节点ID。 sql_id 是 String 该节点执行的SQL语句ID,如果“limit_type”为SQL_ID,必须与“limit_type_value”值一致。
  • URI POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/limit-task 表1 参数说明 名称 是否必选 说明 project_id 是 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 instance_id 是 实例ID。
  • 响应示例 修改限流类型是SQL_ID的限流任务。 { "task_id": "bca08a79-8557-42c2-ab73-09a14d178c57", "task_name": "SOLIdLimit", "parallel_size": 10, "start_time": "2024-08-19T22:54:42Z", "end_time": "2024-08-19T23:54:42Z", "job_id": "d44bbbc3-4465-4079-ac71-d8e7ab0643a4" } 修改限流类型是SQL_TYPE的限流任务。 { "task_id": "ef8575c7-0133-43b4-8ab2-b950b9a6daaf", "databases": "gaussdb_test3", "task_name": "KeywordLimit", "key_words": "type,version", "parallel_size": 10, "start_time": "2024-08-19T22:54:42Z", "end_time": "2024-08-19T23:54:42Z", "job_id": "40e2e10f-6f4c-4883-9db7-5422f42187cc" } 修改限流类型是SESSION_ACTIVE_MAX_COUNT的限流任务。 { "task_id": "37b6232c-58ea-4d62-a5b5-54fc215c2115", "task_name": "ThresholdLimit", "parallel_size": 10, "cpu_utilization": 20, "memory_utilization": 20, "job_id": "0ec7109d-bc8f-41f6-9a78-a70f966739fc" }
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 task_id String 限流任务ID。 databases String 实例的数据库列表,每个数据库以英文逗号形式隔开。 task_name String 限流任务名。 key_words String 关键词,仅当任务类型为SQL_TYPE时,返回该值。 parallel_size Integer 并发数。 cpu_utilization Integer CPU利用率阈值,仅当任务类型为SESSION_ACTIVE_MAX_COUNT时,返回该值且只保留整数部分。 memory_utilization Integer 内存利用率阈值,仅当任务类型为SESSION_ACTIVE_MAX_COUNT时,返回该值且只保留整数部分。 start_time String 限流任务开始时间,格式为yyyy-mm-ddThh:mm:ssZ。当“task_scope”为SQL时会返回该参数。 end_time String 限流任务结束时间,格式为yyyy-mm-ddThh:mm:ssZ。当“task_scope”为SQL时会返回该参数。 rule_name String 规则名。 job_id String 工作流ID。
  • 请求示例 修改限流类型是SQL_ID的限流任务。 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task/96854ba7-8d50-4a3c-8fd8-210a7390e9d1 { "start_time" : "2024-08-20T06:54:42+0800", "end_time" : "2024-08-20T07:54:42+0800", "task_name" : "SOLIdLimit", "parallel_size" : 10 } 修改限流类型是SQL_TYPE的限流任务。 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task/96854ba7-8d50-4a3c-8fd8-210a7390e9d1 { "start_time" : "2024-08-20T06:54:42+0800", "end_time" : "2024-08-20T07:54:42+0800", "key_words" : "version,type", "task_name" : "KeywordLimit", "parallel_size" : 10, "databases" : "gaussdb_test3" } 修改限流类型是SESSION_ACTIVE_MAX_COUNT的限流任务。 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task/96854ba7-8d50-4a3c-8fd8-210a7390e9d1 { "task_name": "ThresholdLimit", "parallel_size": 10, "cpu_utilization": 20, "memory_utilization": 20 }
  • URI PUT https://{Endpoint}/v3/{project_id}/instances/{instance_id}/limit-task/{task_id} 表1 参数说明 名称 是否必选 说明 project_id 是 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 instance_id 是 实例ID。 task_id 是 限流任务ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 语言。 缺省值:en-us 枚举值: zh-cn en-us 表3 请求Body参数 参数 是否必选 参数类型 描述 start_time 否 String 任务开始时间,当“task_scope”为SQL时必传。 取值范围:大于等于当前时间(UTC时间)的前两分钟。 格式必须为yyyy-mm-ddThh:mm:ss+0000。 end_time 否 String 任务结束时间,当“task_scope”为SQL时必传。 取值范围:大于任务开始时间。 格式必须为yyyy-mm-ddThh:mm:ss+0000。 key_words 否 String 关键词,当“limit_type”为SQL_TYPE时,必传。 多个关键词以逗号隔开,数量范围为[2,100]个,每个关键词长度范围[2,64]位,关键词不允许包含 " 或 \ 或 {} 或 null值以及非首尾的空格符。 task_name 否 String 限流任务名称,只能为英文字母大小写,下划线,数字和$符,最大长度为100个字符。 parallel_size 否 Integer 并发数,大于等于零的整数,取值范围[0, 2147483647]。 cpu_utilization 否 Integer CPU利用率阈值,整数,取值范围[0,100)。 如果“limit_type”为SESSION_ACTIVE_MAX_COUNT,则“cpu_utilization”必选。 不支持和内存利用率阈值同时为0,如果选择只限制CPU、内存中的其中一个,则另一个必须传值0。 memory_utilization 否 Integer 内存利用率阈值,整数,取值范围[0,100)。 如果“limit_type”为SESSION_ACTIVE_MAX_COUNT,则“memory_utilization”必选。 不支持和CPU利用率阈值同时为0,如果选择只限制CPU、内存中的其中一个,则另一个必须传值0。 databases 否 String 实例的数据库列表,每个数据库以英文逗号形式隔。 如果“limit_type”为SQL_TYPE,则“databases”必选。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用创建的用户进行日常管理工作。 用户 用户是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型
  • 响应消息体(可选) 该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体,为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "az-01", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code": "AS.0001", "error_msg": "The format of message is error" } 其中,“error_code”表示错误码,“error_msg”表示错误描述信息。
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 task_name String 限流任务名。 limit_type String 任务限流类型。 parallel_size Integer 并发数。 start_time String 限流任务开始时间,格式为yyyy-mm-ddThh:mm:ss+0000,当前时间指UTC时间。 end_time String 限流任务结束时间,格式为yyyy-mm-ddThh:mm:ss+0000,当前时间指UTC时间。 limit_count Integer 限流次数。 task_running_time Integer 限流任务运行时长。 memory_utilization Integer 内存利用率,仅当任务类型为SESSION_ACTIVE_MAX_COUNT时,返回该值。 cpu_utilization Integer CPU利用率,仅当任务类型为SESSION_ACTIVE_MAX_COUNT时,返回该值。 rule_name String 规则名。 limit_task_rule_info_list Array of objects 限流任务节点列表,详情请参见表 表4。 表4 LimitTaskRuleInfoList 参数 参数类型 描述 node_id String 节点ID。 rule_id String 限流任务ID。 status String 限流任务状态,当前支持:CREATING,UPDATING,DELETING,WAIT_EXECUTE,EXECUTING,TIME_OVER,DELETED,CREATE_FAILED,UPDATE_FAILED,DELETE_FAILED,EXCEPTION,NODE_SHUT_DOWN。
  • 响应示例 限流类型是SQL_ID的限流任务。 { "task_name": "123", "limit_type": "SQL_ID", "parallel_size": 0, "start_time": "2024-08-19T07:12:31Z", "end_time": "2024-09-30T07:10:59Z", "limit_count": 1, "task_running_time": 16258, "rule_name": "bca08a79-8557-42c2-ab73-09a14d178c57", "limit_task_rule_info_list": [ { "node_id": "e37a7df4ec694a3cbfeae1aee583d70fno14", "rule_id": "2", "status": "EXCUTING" } ] } 限流类型是SQL_TYPE的限流任务。 { "task_name": "123", "limit_type": "SQL_TYPE", "parallel_size": 0, "start_time": "2024-08-20T06:54:42Z", "end_time": "2024-09-09T06:53:43Z", "limit_count": 0, "task_running_time": 0, "rule_name": "476faedc-0583-4327-9f48-91fa1703e910", "limit_task_rule_info_list": [ { "node_id": "e37a7df4ec694a3cbfeae1aee583d70fno14", "rule_id": "1", "status": "WAIT_EXCUTE" } ] } 限流类型是SESSION_ACTIVE_MAX_COUNT的限流任务。 { "task_name": "89", "limit_type": "SESSION_ACTIVE_MAX_COUNT", "parallel_size": 0, "limit_count": 0, "task_running_time": 16283, "memory_utilization": 1, "cpu_utilization": 0, "rule_name": "37b6232c-58ea-4d62-a5b5-54fc215c2115", "limit_task_rule_info_list": [ { "node_id": "e37a7df4ec694a3cbfeae1aee583d70fno14", "rule_id": "3", "status": "EXCUTING" } ] }