绑定流控策略
功能介绍
将流控策略应用于API,则所有对该API的访问将会受到该流控策略的限制。当一定时间内的访问次数超过流控策略设置的API最大访问次数限制后,后续的访问将会被拒绝,从而能够较好的保护后端API免受异常流量的冲击,保障服务的稳定运行。
为指定的API绑定流控策略,绑定时,需要指定在哪个环境上生效。
同一个API发布到不同的环境可以绑定不同的流控策略;一个API在发布到特定环境后只能绑定一个默认的流控策略。
URI
HTTP/HTTPS请求方法以及URI如下表所示。
请求方法 |
URI |
---|---|
POST |
/v1.0/apigw/throttle-bindings |
请求消息
名称 |
是否必选 |
类型 |
说明 |
---|---|---|---|
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" }
响应消息
名称 |
类型 |
说明 |
---|---|---|
throttle_applys |
字典数据类型 |
API与流控策略的绑定关系列表 |
名称 |
类型 |
说明 |
---|---|---|
id |
String |
绑定关系的ID。 |
strategy_id |
String |
流控策略的ID。 |
publish_id |
String |
API的发布记录编号 |
scope |
Integer |
策略作用域,取值如下:
目前只支持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" }] }
状态码
状态码 |
说明 |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Server Internal Error |