
# 绑定流控策略
#### 功能介绍
将流控策略应用于API，则所有对该API的访问将会受到该流控策略的限制。当一定时间内的访问次数超过流控策略设置的API最大访问次数限制后，后续的访问将会被拒绝，从而能够较好地保护后端API免受异常流量的冲击，保障服务的稳定运行。
为指定的API绑定流控策略，绑定时，需要指定在哪个环境上生效。
同一个API发布到不同的环境可以绑定不同的流控策略；一个API在发布到特定环境后只能绑定一个默认的流控策略。
#### URI
HTTP/HTTPS请求方法以及URI如下表所示。
表1HTTP/HTTPS请求方法及URI 
| 请求方法 | URI                           |
|:---|:---|
| POST | /v1.0/apigw/throttle-bindings |
   
#### 请求消息
表2参数说明 
| 名称          | 是否必选 | 类型               | 说明         |
|:---|:---|:---|:---|
| publish_ids | 是    | Array of strings | API的发布记录编号 |
| strategy_id | 是    | String           | 流控策略编号     |
   
请求参数样例：
```
{
  "publish_ids": [
    "374a6d5a-20c7-4ea1-82e1-19fce4556956",
    "65e6fe53-1ac3-4481-ba36-9f0bc6f22057"
  ],
  "strategy_id": "0325b671-2d50-4614-9868-22102262695d"
}
```
#### 响应消息
表3参数说明 
| 名称              | 类型     | 说明              |
|:---|:---|:---|
| throttle_applys | 字典数据类型 | API与流控策略的绑定关系列表 |
   
表4throttle_applys参数说明 
| 名称          | 类型        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| id          | String    | 绑定关系的ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| strategy_id | String    | 流控策略的ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| publish_id  | String    | API的发布记录编号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| scope       | Integer   | 策略作用域，取值如下： - 1: 整个API  - 2: 单个用户  - 3: 单个APP   目前只支持1 |
| apply_time  | Timestamp | 绑定时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
响应消息样例：
```
{
"throttle_applys": [{
"id": "507c6a9f-8322-4dc2-8ba5-b4d74e3690d3",
"strategy_id": "0325b671-2d50-4614-9868-22102262695d",
"publish_id": "374a6d5a-20c7-4ea1-82e1-19fce4556956",
"scope": 1,
"apply_time": "2017-12-29T03:01:11.138456Z"
},
{
"id": "90f05978-06a3-4096-8bea-b5e2fa12b843",
"strategy_id": "0325b671-2d50-4614-9868-22102262695d",
"publish_id": "65e6fe53-1ac3-4481-ba36-9f0bc6f22057",
"scope": 1,
"apply_time": "2017-12-29T03:01:11.138456Z"
}]
}
```
#### 状态码
表5返回消息说明 
| 状态码 | 说明                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Server Internal Error |
   
