- 最新动态
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 权限管理
- 登录数据库实例
- MySQL
- RDS for SQL Server
- PostgreSQL
- RDS for MariaDB
- GaussDB
- TaurusDB
- GeminiDB Cassandra
- GaussDB(DWS)(即将下线)
- DDS
- DDM
- 审计
- 事件监控
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API(公测中)
- 获取API版本
-
云DBA
- 注册数据库用户
- 修改数据库用户
- 删除数据库用户
- 查询云DBA配额
- 查询数据库用户信息
- 查询数据库用户列表
- 查杀会话
- 查询SQL执行计划(GET请求)
- 查询SQL执行计划(POST请求)
- 查询元数据锁列表
- 查询实例会话列表
- 查询InnoDB锁等待列表
- 开启/关闭全量SQL、慢SQL开关
- 查询全量SQL和慢SQL的开关状态
- 导出慢SQL数据
- 导出全量SQL
- 查看SQL限流开关状态
- 设置SQL限流开关状态
- 查询SQL限流规则列表
- 根据原始SQL生成SQL限流关键字
- 创建SQL限流规则
- 删除SQL限流规则
- 查询SQL限流任务
- 导出TopSQL模板列表
- 导出SQL执行耗时区间数据
- 导出慢SQL模板列表
- 获取DAS云DBA实例列表
- 设置共享链接
- 删除共享链接
- 执行SQL诊断
- 获取诊断结果
- 创建实例健康诊断任务
- 查询实例健康诊断报告列表
- 获取实例健康诊断报告内容
- 同步实例列表
- API(不再推广)
- 权限策略和授权项
- 附录
- 常见问题
- 产品术语
-
更多文档
- 用户指南(阿布扎比区域)
- 用户指南(吉隆坡区域)
- 通用参考
链接复制成功!
创建SQL限流规则
功能介绍
添加SQL限流规则。目前仅支持MySQL数据库。 使用限制如下:
- 规则举例详细说明:例如关键字是"select~a", 含义为:select以及a为该并发控制所包含的两个关键字,~为关键字间隔符,即若执行SQL命令包含select与a两个关键字视为命中此条并发控制规则。
- 当SQL语句匹配多条限流规则时,优先生效最新添加的规则,之前的规则不再生效。
- 限流规则关键字有顺序要求,只会按顺序匹配。如:a~and~b 只会匹配 xxx a>1 and b>2,而不会匹配 xxx b>2 and a>1。
- 关键字可能大小写敏感,请执行 "show variables like 'rds_sqlfilter_case_sensitive'或者到实例参数设置页面进行确认。
- 部分版本只读实例不允许设置限流规则,如果要设置限流规则,请到主实例上进行添加。
- 系统表不限制、不涉及数据查询的不限制、root账号在特定版本下不限制。
URI
POST /v3/{project_id}/instances/{instance_id}/sql-limit/rules
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 获取方法请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户token。 |
X-Language |
否 |
String |
语言。 枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
datastore_type |
是 |
String |
数据库类型。 枚举值:
|
sql_limit_rules |
是 |
Array of CreateSqlLimitRuleOption objects |
需要创建的SQL限流规则列表,一次最多创建5个。 |
database_name |
否 |
String |
数据库名。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
sql_type |
是 |
String |
SQL类型。 枚举值:
|
max_concurrency |
是 |
Integer |
最大并发数。 |
pattern |
是 |
String |
SQL限流规则。限流规则以~分隔关键字,例如select~a。规则举例详细说明:例如关键字是"select~a", 含义为:select以及a为该并发控制所包含的两个关键字,~为关键字间隔符,即若执行SQL命令包含select与a两个关键字视为命中此条并发控制规则。 |
max_waiting |
否 |
Integer |
最大等待时间。 |
his_sql_limit_switch |
否 |
Boolean |
历史SQL限流开关。
|
响应参数
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 最小长度:8 最大长度:36 |
error_msg |
String |
错误描述。 最小长度:2 最大长度:512 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 最小长度:8 最大长度:36 |
error_msg |
String |
错误描述。 最小长度:2 最大长度:512 |
请求示例
创建SQL限流规则。
POST https://das.cn-north-1.myhuaweicloud.com/v3/054c630ff780d4cc2f40c00d7f6fb21d/instances/d871e13ee1044e21a473330cd67047cbin01/sql-limit/rules { "sql_limit_rules" : [ { "sql_type" : "SELECT", "pattern" : "select~t2~var", "max_concurrency" : 100 }, { "sql_type" : "DELETE", "pattern" : "delete~t1~name", "max_concurrency" : 1 } ], "datastore_type" : "MySQL" }
响应示例
无。
状态码
状态码 |
描述 |
---|---|
200 |
Success. |
400 |
Client error. |
500 |
Client error. |
错误码
请参见错误码。