
# 创建特殊设置 - CreateSpecialThrottlingConfigurationV2
#### 功能介绍
流控策略可以限制一段时间内可以访问API的最大次数，也可以限制一段时间内单个租户和单个APP可以访问API的最大次数。
如果想要对某个特定的APP进行特殊设置，例如设置所有APP每分钟的访问次数为500次，但想设置APP1每分钟的访问次数为800次，可以通过在流控策略中设置特殊APP来实现该功能。
为流控策略添加一个特殊设置的对象，可以是APP，也可以是租户。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-apig/apig-api-180713003.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-apig/apig-api-grant-policy_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                  | 访问级别  | 资源类型（\*为必须） | 条件键                       | 别名                           | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                |
  |:---|:---|:---|:---|:---|:---|
  | apig:requestThrottling:createSpecial | Write | instance \* | g:ResourceTag/\<tag-key\> | apig:specialThrottles:create | - apig:instance:get  - apig:requestThrottling:get   |
     
  
 
#### URI
POST /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                      |
|:---|:---|:---|:---|
| project_id  | 是    | String | 项目ID，获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-apig/apig-api-180713009.html)。 |
| instance_id | 是    | String | 实例ID，在API网关控制台的"实例信息"中获取。                                                               |
| throttle_id | 是    | String | 流控策略的编号                                                                                 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| call_limits | 是    | Integer | 流控时间内特殊对象能够访问API的最大次数限制                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| object_id   | 是    | String  | 特殊APP的编号或特殊租户的账号ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| object_type | 是    | String  | 特殊对象类型。 - APP：特殊APP   - USER：特殊租户    |
   
#### 响应参数
**状态码：201**
表4响应Body参数 
| 参数          | 参数类型    | 描述                       |
|:---|:---|:---|
| id          | String  | 特殊配置的编号                  |
| call_limits | Integer | 特殊对象在流控时间内能够访问API的最大次数限制 |
| apply_time  | String  | 设置时间                     |
| app_name    | String  | 作用的APP名称                 |
| app_id      | String  | 作用的APP编号                 |
| object_id   | String  | 特殊对象的身份标识                |
| object_type | String  | 特殊对象类型：APP、USER          |
| object_name | String  | 作用的APP或租户的名称             |
| throttle_id | String  | 流控策略编号                   |
   
**状态码：400**
表5响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：401**
表6响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：403**
表7响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：404**
表8响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：500**
表9响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
#### 请求示例
设置特殊流控，在流控策略中添加特殊应用，阈值为150
```
{
  "call_limits" : 150,
  "object_id" : "356de8eb7a8742168586e5daf5339965",
  "object_type" : "APP"
}
```
#### 响应示例
**状态码：201**
Created
```
{
  "call_limits" : 150,
  "app_name" : "app_demo",
  "object_name" : "app_demo",
  "object_id" : "356de8eb7a8742168586e5daf5339965",
  "throttle_id" : "3437448ad06f4e0c91a224183116e965",
  "apply_time" : "2020-08-04T02:40:56.717710961Z",
  "id" : "a3e9ff8db55544ed9db91d8b048770c0",
  "app_id" : "356de8eb7a8742168586e5daf5339965",
  "object_type" : "APP"
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "APIG.2003",
  "error_msg" : "The parameter value is too large,parameterName:call_limits. Please refer to the support documentation"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
Forbidden
```
{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}
```
**状态码：404**
Not Found
```
{
  "error_code" : "APIG.3004",
  "error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist"
}
```
**状态码：500**
Internal Server Error
```
{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-apig/ErrorCode.html)。
