创建SQL限流任务(v3.1)
调试
您可以在API Explorer中调试该接口。
接口约束
- 分布式版实例不支持自治限流任务。
- 不支持对系统级别用户(例如root等)进行SQL限流。
- 每个实例最多支持1000条限流任务。
- 对于关键词限流任务,一个关键词中包含英文逗号视作以逗号分隔的两个关键词,作用时不区分关键词前后顺序。
- 限流功能仅支持V2.0-8.0及以上版本实例。
URI
POST /v3.1/{project_id}/instances/{instance_id}/limit-task
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 |
instance_id |
是 |
String |
参数解释: 实例ID,此参数是用户创建实例的唯一标识。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为36个字符。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
X-Language |
否 |
String |
参数解释: 语言。 约束限制: 不涉及。 取值范围:
默认取值: en-us |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
task_scope |
是 |
String |
参数解释: 限流任务范围,目前支持SQL、SESSION级别范围。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
start_time |
否 |
String |
参数解释: 任务开始时间,如果该值小于当前时间,会取当前时间的前两分钟。 约束限制: 当“task_scope”为SQL时必传。 取值范围: 格式必须为yyyy-mm-ddThh:mm:ssZ,当前时间指UTC时间。 默认取值: 不涉及 |
end_time |
否 |
String |
参数解释: 任务结束时间。 约束限制: 当“task_scope”为SQL时必传。 取值范围: 大于任务开始时间,格式必须为yyyy-mm-ddThh:mm:ssZ,当前时间指UTC时间。 默认取值: 不涉及。 |
limit_type |
是 |
String |
参数解释: 限流类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
limit_type_value |
否 |
String |
参数解释: 限流类型值。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
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利用率阈值。 约束限制: 如果“limit_type”为SESSION_ACTIVE_MAX_COUNT,必传。不支持和内存利用率阈值同时为0,如果选择只限制CPU、内存中的其中一个,则另一个必须传值0。 取值范围: 整数,取值范围[0,100)。 默认取值: 不涉及。 |
memory_utilization |
否 |
Integer |
参数解释: 内存利用率阈值。 约束限制: 如果“limit_type”为SESSION_ACTIVE_MAX_COUNT,必传。不支持和CPU利用率阈值同时为0,如果选择只限制CPU、内存中的其中一个,则另一个必须传值0。 取值范围: 整数,取值范围[0,100)。 默认取值: 不涉及。 |
databases |
否 |
String |
参数解释: 数据库名称,限流只对指定的数据库生效,多个数据库名称用英文逗号分割。 约束限制: 当“limit_type”为SQL_TYPE类型时,databases参数必选。 取值范围: 不涉及。 默认取值: 不涉及。 |
node_infos |
否 |
Array of objects |
参数解释: CN节点信息列表,详情参见表4。 约束限制: 如果“limit_type”为SQL_ID,则“node_infos”必选。 |
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
job_id |
String |
参数解释: 工作流ID。 取值范围: 不涉及。 |
请求示例
- 创建限流范围是SQL级别,限流类型是SQL_ID的限流任务。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task { "limit_type": "SQL_ID", "task_name": "t_limit", "limit_type_value": "2983157089", "task_scope": "SQL", "sql_model": "select * from t_limit;", "parallel_size": 2, "start_time": "2025-09-18T03:16:17+0000", "end_time": "2025-09-18T04:16:22+0000", "node_infos": [ { "node_id": "a2a8c1f02782475ea3ac73e34ffe5dd8no14", "sql_ids": [ "2983157089" ] } ], "databases": "t_limit" }
- 创建限流范围是SQL级别,限流类型是SQL_TYPE的限流任务。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task { "limit_type": "SQL_TYPE", "task_name": "t_limit_key_word", "limit_type_value": "select", "task_scope": "SQL", "parallel_size": 2, "start_time": "2025-09-18T08:49:07+0000", "end_time": "2025-09-18T08:55:13+0000", "node_infos": [ { "node_id": "dc96ae0de3b04d7a8679406c3a21fa90no14" } ], "key_words": "abc,def", "databases": "db_ecs_fe1,db_liujian,t_limit" }
- 创建限流范围是SESSION级别,限流类型是SESSION_ACTIVE_MAX_COUNT的限流任务。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/limit-task { "parallel_size": 0, "task_name": "t_limit_resource", "cpu_utilization": 10, "memory_utilization": 33, "limit_type": "SESSION_ACTIVE_MAX_COUNT", "limit_type_value": "CPU_OR_MEMORY", "task_scope": "SESSION" }
响应示例
{ "job_id" : "d8819ac11297598d06e591b5786aab86" }
状态码
- 正常
- 异常
请参见状态码。
错误码
请参见错误码。