
# 新增SQL限流规则 - AddSqlLimitingRecord
#### 功能介绍
新增SQL限流规则。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-das/das_01_0130.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                              | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | das:clouddba:createSqlLimitRules | write | instance    | -   | -  | -      |
     
  
 
#### URI
POST /v3/{project_id}/instances/{instance_id}/sql-limiting/add-sql-limiting-record
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-das/das_01_0036.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值：** 不涉及。 |
| instance_id | 是    | String | **参数解释：** 实例ID，实例的唯一标识。可通过查看实例列表或者实例详情获取实例ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                |
   
#### 请求参数
表2请求Body参数 
| 参数                      | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| engine_type             | 是    | String           | **参数解释：** 数据库引擎类型。 **约束限制：** 不涉及。 **取值范围：** MySQL **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                              |
| type                    | 是    | String           | **参数解释：** SQL类型。 **约束限制：** 不涉及。 **取值范围：** - SELECT  - UPDATE  - DELETE   **默认取值：** 不涉及。                                                                                        |
| max_connection          | 是    | Integer          | **参数解释：** 最大并发数。 **约束限制：** 不涉及。 **取值范围：** \[0, 2\^31-1\]，实际取决于查询。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                            |
| key_str                 | 是    | String           | **参数解释：** SQL限流规则。 **约束限制：** 限流规则以\~分隔关键字，例如select\~a。规则举例详细说明：例如关键字是"select\~a", 含义为：select以及a为该并发控制所包含的两个关键字，\~为关键字间隔符，即若执行SQL命令包含select与a两个关键字视为命中此条并发控制规则。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                     |
| max_waiting             | 否    | Integer          | **参数解释：** 最大等待时间。 **约束限制：** 不涉及。 **取值范围：** \[0, 2\^31-1\]，实际取决于查询。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                |
| his_sql_limiting_switch | 否    | Boolean          | **参数解释：** 历史SQL限流开关。 **约束限制：** - 本开关仅对本条SQL限流规则生效。  - 开启时，将kill掉命中此条SQL限流规则的已有会话。   **取值范围：** - true  - false   **默认取值：** 不涉及。 |
| node_ids                | 否    | Array of strings | **参数解释：** 节点ID列表，实例节点的唯一标识。可通过查看实例详情节点列表获取节点ID信息。只能由英文字母、数字组成，且长度为36个字符。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                               |
| automaticity            | 否    | Boolean          | **参数解释：** 是否自动化。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                 |
| duration                | 否    | Long             | **参数解释：** 过期时间。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                              |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数     | 参数类型    | 描述                                                                                                                    |
|:---|:---|:---|
| status | Boolean | **参数解释：** 状态。 **取值范围：** 不涉及。 |
   
#### 请求示例
```
POST https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/da304cd5bbb944de828759bc7be3d3fein01/sql-limiting/add-sql-limiting-record 
 
{
    "engine_type": "MySQL",
    "type": "SELECT",
    "key_str": "select~from~test_table",
    "max_connection": 5,
    "his_sql_limiting_switch": true,
    "duration": -1
}
```
#### 响应示例
**状态码： 200**
Success.
```
{
    "status": true
}
```
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-das/das_01_0035.html)。
