创建特殊设置 - CreateSpecialThrottlingConfigurationV2
功能介绍
流控策略可以限制一段时间内可以访问API的最大次数,也可以限制一段时间内单个租户和单个APP可以访问API的最大次数。
如果想要对某个特定的APP进行特殊设置,例如设置所有APP每分钟的访问次数为500次,但想设置APP1每分钟的访问次数为800次,可以通过在流控策略中设置特殊APP来实现该功能。
为流控策略添加一个特殊设置的对象,可以是APP,也可以是租户。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        是  | 
      
        String  | 
      
        项目ID,获取方式请参见获取项目ID。  | 
     
| 
        instance_id  | 
      
        是  | 
      
        String  | 
      
        实例ID,在API网关控制台的“实例信息”中获取。  | 
     
| 
        throttle_id  | 
      
        是  | 
      
        String  | 
      
        流控策略的编号  | 
     
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        X-Auth-Token  | 
      
        是  | 
      
        String  | 
      
        用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        call_limits  | 
      
        是  | 
      
        Integer  | 
      
        流控时间内特殊对象能够访问API的最大次数限制  | 
     
| 
        object_id  | 
      
        是  | 
      
        String  | 
      
        特殊APP的编号或特殊租户的账号ID  | 
     
| 
        object_type  | 
      
        是  | 
      
        String  | 
      
        特殊对象类型。 
  | 
     
响应参数
状态码:201
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        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
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码:401
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码:403
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码:404
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码:500
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        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  | 
     
错误码
请参见错误码。