
# 新增SQL限流 - CreateSqlLimit
#### 功能介绍
新增SQL限流。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/RDS/doc?api=CreateSqlLimit)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                 | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                  | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:instance:update | write | -           | -   | rds:instance:modify | -      |
   
#### 约束限制
- 内置用户（rdsAdmin、rdsMetric、rdsRepl、rdsBackup）的SQL语句不受限流规则影响。
- 使用SQL限流功能需要安装rds_pg_sql_ccl插件，该插件是RDS for PostgreSQL自研的内核限流插件，详见[创建插件 - CreatePostgresqlExtension](https://support.huaweicloud.com/api-rds/rds_11_0012.html)。
 
#### URI
- URI格式 POST /v3/{project_id}/instances/{instance_id}/sql-limit
  

- 参数说明
  表1参数说明 
  | 名称          | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id  | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                 |
  | instance_id | 是    | **参数解释：** 实例ID。 可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表4](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table2058713718267)中的"id"获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 参数              | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| db_name         | 是    | String  | **参数解释**： 数据库名称。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                  |
| query_id        | 否    | Long    | **参数解释**： 由SQL的语法解析树计算出的内部哈希码。 **约束限制**： 不涉及。 **取值范围**： -9223372036854775808\~ 9223372036854775807 **默认取值**： 0 |
| query_string    | 否    | String  | **参数解释**： SQL语句的文本形式。 **约束限制**： query_id与query_string只可以存在一个。 **取值范围**： 仅支持合法的SQL语句。 **默认取值**： 不涉及。         |
| max_concurrency | 是    | Integer | **参数解释**： 同时执行的SQL数量。 **约束限制**： 不涉及。 **取值范围**： -1\~50000。小于等于0表示不限制。 **默认取值**： 0                            |
| max_waiting     | 是    | Integer | **参数解释**： 最大等待时间，单位为秒。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                              |
| search_path     | 否    | String  | **参数解释**： 数据库对象的schema搜索路径。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： public                                   |
   
#### 请求示例
新增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" 
 }
```
#### 响应消息
- 正常响应要素说明
  表3要素说明 
  | 名称   | 参数类型   | 说明                                                                                                                                       |
  |:---|:---|:---|
  | resp | String | **参数解释**： 调用结果。 **取值范围**： 调用正常时，返回"successful"。 |
     
  

- 正常响应样例
  ```
  { 
     "resp" : "successful" 
   }
  ```
  
- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
