云服务器内容精选

  • 请求示例 创建限流范围是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 Array of strings 关键词,仅当任务类型为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。
  • 响应示例 { "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" }
  • URI POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/limit-task 表1 参数说明 名称 是否必选 说明 project_id 是 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 instance_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参数 参数 是否必选 参数类型 描述 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”值一致。
  • 请求示例 新增SQL限流。 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/49b9dd1d6f464ba4bc91df5cbd2e52ebin03/sql-limit { "db_name" : "postgres", "query_id" : 1, "max_concurrency" : 10, "max_waiting" : 10, "search_path" : "public" }
  • 请求消息 表2 参数说明 参数 是否必选 参数类型 描述 db_name 是 String 数据库名称。 query_id 否 Long 由SQL的语法解析树计算出的内部哈希码,默认为0,取值范围:-9223372036854775808~ 9223372036854775807。 query_string 否 String SQL语句的文本形式。query_id与query_string只可以存在一个。 max_concurrency 是 Integer 同时执行的SQL数量,小于等于0表示不限制,默认为0,取值范围:-1~50000。 max_waiting 是 Integer 最大等待时间,单位为秒。 search_path 否 String 为不是模式限定的名称设置模式搜索顺序,默认为public。
  • 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”必选。
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 task_id String 限流任务ID。 databases String 实例的数据库列表,每个数据库以英文逗号形式隔开。 task_name String 限流任务名。 key_words Array of strings 关键词,仅当任务类型为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 }
  • 响应示例 修改限流类型是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" }
  • 请求示例 删除SQL限流规则,限流类型为SELECT、UPDATE、DELETE。 DELETE https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/af315b8e6aaa41799bd9a31f2de15abcin07/sql-filter/rules{ "sql_filter_rules" : [ { "node_id" : "c01a5645eb2c4fb6a9373542f5366e50no07", "rules" : [ { "sql_type" : "SELECT", "patterns" : [ "select~from~t1", "select~from~t2" ] }, { "sql_type" : "UPDATE", "patterns" : [ "udpate~t3~where~id" ] } ] }, { "node_id" : "b234a5645eb2c4ji3b9372342f5362397no07", "rules" : [ { "sql_type" : "SELECT", "patterns" : [ "select~from~t1", "select~from~t2" ] }, { "sql_type" : "DELETE", "patterns" : [ "delete~t3~where~id" ] } ] } ]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 X-Language 否 String 语言。 表3 请求Body参数 参数 是否必选 参数类型 描述 sql_filter_rules 是 Array of DeleteNodeSqlFilterRuleInfo objects 节点级别的SQL限流规则。 表4 DeleteNodeSqlFilterRuleInfo 参数 是否必选 参数类型 描述 node_id 是 String 节点ID rules 是 Array of DeleteNodeSqlFilterRule objects SQL限流规则。 表5 DeleteNodeSqlFilterRule 参数 是否必选 参数类型 描述 sql_type 是 String Sql限流类型。 取值范围: SELECT UPDATE DELETE patterns 是 Array of strings SQL限流具体规则。
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 job_id String 删除SQL限流规则任务ID。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。