API网关 APIGAPI网关 APIG

更新时间:2021/06/18 GMT+08:00
分享

绑定流控策略

功能介绍

将流控策略应用于API,则所有对该API的访问将会受到该流控策略的限制。当一定时间内的访问次数超过流控策略设置的API最大访问次数限制后,后续的访问将会被拒绝,从而能够较好的保护后端API免受异常流量的冲击,保障服务的稳定运行。

为指定的API绑定流控策略,绑定时,需要指定在哪个环境上生效。

同一个API发布到不同的环境可以绑定不同的流控策略;一个API在发布到特定环境后只能绑定一个默认的流控策略。

URI

HTTP/HTTPS请求方法以及URI如下表所示。

表1 HTTP/HTTPS请求方法及URI

请求方法

URI

POST

/v1/{project_id}/apigw/instances/{instance_id}/throttle-bindings

URI中的参数说明如下表所示。

表2 参数说明

名称

是否必选

类型

说明

project_id

String

项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。

instance_id

String

实例ID,可从API网关控制台的专享版实例信息中获取。

请求消息

表3 参数说明

名称

是否必选

类型

说明

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"
}

响应消息

表4 参数说明

名称

类型

说明

throttle_applys

字典数据类型

API与流控策略的绑定关系列表

表5 throttle_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"
	}]
}

状态码

表6 返回消息说明

状态码

说明

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Internal Error

分享:

    相关文档

    相关产品