
# RateLimitContent
表1RateLimitContent 
| 参数                | 是否必选 | 参数类型                                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| scope             | 否    | String                                                                                              | 流控策略的类型： - basic：基础，表示绑定到流控策略的单个API流控时间内能够被调用多少次  - share：共享，表示绑定到流控策略的所有API流控时间内能够被调用多少次                                                                                                                                                       |
| default_time_unit | 否    | String                                                                                              | 流控的时间单位，缺省为second： - second：秒  - minute：分钟  - hour：小时  - day：天   |
| default_interval  | 否    | Integer                                                                                             | 流量控制的时长单位。与"流量限制次数"配合使用，表示单位时间内的API请求次数上限。输入的值是不超过2147483647的正整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| api_limit         | 是    | Integer                                                                                             | API流量限制是指时长内一个API能够被访问的次数上限。该值不超过系统默认配额限制。输入的值是不超过2147483647的正整数或-1。 取值为-1时，表示不流控。                                                                                                                                                                                                                                                                                                                                                                                                 |
| app_limit         | 否    | Integer                                                                                             | APP流量限制是指一个API在时长之内被每个APP访问的次数上限，该数值不超过用户流量限制值。输入的值是不超过2147483647的正整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| user_limit        | 否    | Integer                                                                                             | 用户流量限制是指一个API在时长之内每一个用户能访问的次数上限，该数值不超过API流量限制值。输入的值是不超过2147483647的正整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ip_limit          | 否    | Integer                                                                                             | 源IP流量限制是指一个API在时长之内被每个IP访问的次数上限，该数值不超过API流量限制值。输入的值是不超过2147483647的正整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| algorithm         | 否    | String                                                                                              | 流控类型。支持的取值： - counter：高精度流控  - haht：高性能流控  - local：单机流控                                                                                                 |
| specials          | 否    | Array of [RateLimitSpecial] objects           | 基础流控模式下的特殊流控配置列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| parameters        | 否    | Array of [PluginCommonParameter] objects | 参数流控模式下的流控参数列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| rules             | 否    | Array of [RateLimitRule] objects                 | 参数流控模式下的流控规则列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表2RateLimitSpecial 
| 参数       | 是否必选 | 参数类型                                                                                                  | 描述                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| type     | 是    | String                                                                                                | 流控策略的类型。支持的取值： - app：应用  - user：IAM租户   |
| policies | 是    | Array of [RateLimitSpecialPolicy] objects | 特殊流控策略列表。                                                                                                                                                                                                                                                                                                          |
   
 表3RateLimitSpecialPolicy 
| 参数    | 是否必选 | 参数类型    | 描述                                         |
|:---|:---|:---|:---|
| key   | 是    | String  | 特殊流控对象值。                                   |
| limit | 是    | Integer | 流控时间内特殊对象能够访问API的最大次数限制，取值不能比*api_limit*大。 |
   
 表4PluginCommonParameter 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| type  | 是    | String | 参数类型。支持的取值： - header：HTTP头域的第一个值  - query：QueryString的第一个值  - path：HTTP完整请求路径  - method：HTTP请求方法  - system：系统参数   |
| name  | 是    | String | 用于*rules* 的*parameters*的参数名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| value | 是    | String | 参数来源值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表5RateLimitRule 
| 参数               | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| rule_name        | 是    | String           | 流控策略规则名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| by_parameters    | 否    | Array of strings | 流控参数列表。元素值为parameters中已定义的参数名，系统会基于这些流控参数值形成的组合键进行限流。如果某个参数对应多个值，取第一个值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| is_include_empty | 否    | Boolean          | 是否包含空值，若为true代表当流控参数的组合值为空且匹配条件规则时，依然会执行参数限流。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| match_regex      | 是    | String           | 流控规则表达式。详情参看规则表达式说明。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| time_unit        | 否    | String           | 流控的时间单位，缺省为*default_time_unit*的值。支持的取值： - second：秒  - minute：分钟  - hour：小时  - day：天   |
| interval         | 否    | Integer          | 流量控制的时长单位，缺省为*default_interval*的值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| limit            | 是    | Integer          | 流控值，正整数。当为-1时表示当命中此条件时不需要流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
