检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
默认后端类型为mock,策略后端支持mock 兼容性说明 支持OpenAPI规范。 OpenAPI规范(OAS),是定义一个标准的、与具体编程语言无关的RESTful API的规范。OpenAPI规范的前身是Swagger规范,API网关目前支持两种OpenAPI规范:Swagger 2.0或OpenAPI
创建API分组 功能介绍 API分组是API的管理单元,一个API分组等同于一个服务入口,创建API分组时,返回一个子域名作为访问入口。建议一个API分组下的API具有一定的相关性。 专享版API网关已经陆续开放V2版本的接口,请优先使用V2版本接口管理您的API。 URI HTTP/HTTPS请求方法以及URI如下表所示。
单击“确定”,生成参数header为Host对应的匹配规则“Host = www.abc.com”,表示在60s内,对于请求头域中Host参数等于“www.abc.com”的API,且API调用次数达到10,参数流控生效。 根据3、4,定义参数Path对应的多重规则。 在“定义规则”区域,单击
将流控策略应用于API,则所有对该API的访问将会受到该流控策略的限制。当一定时间内的访问次数超过流控策略设置的API最大访问次数限制后,后续的访问将会被拒绝,从而能够较好的保护后端API免受异常流量的冲击,保障服务的稳定运行。 为指定的API绑定流控策略,绑定时,需要指定在哪个环境上生效。
功能介绍 流控策略可以限制一段时间内可以访问API的最大次数,也可以限制一段时间内单个租户和单个APP可以访问API的最大次数。 如果想要对某个特定的APP进行特殊设置,例如设置所有APP每分钟的访问次数为500次,但想设置APP1每分钟的访问次数为800次,可以通过在流控策略中设置特殊APP来实现该功能。
系统默认分配的子域名 register_time Timestamp 创建时间 update_time Timestamp 最近修改时间 remark String 描述 call_limits Integer 流控时长内分组下的API的总访问次数限制,默认不限,请根据服务的负载能力自行设置
success Array 发布或下线成功的信息 failure Array 发布或下线失败的API及错误信息 表5 success参数说明(批量发布) 名称 类型 说明 publish_id String 发布记录的ID api_id String 发布成功的API ID api_name
选择API的发布环境,并填写发布说明。 单击“确定”,API发布成功后,发布按钮左上角的红色感叹号消失。 验证 使用接口测试工具调用已创建的API,或者在客户端调用已创建的API。 填写API所属分组的调试域名。 导入服务端的proto文件。 此处的proto文件如下: syntax = "proto3";
将API发布到不同的环境后,对于不同的环境,可能会有不同的环境变量,比如,API的服务部署地址,请求的版本号等。 用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,API网关会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境
将API发布到不同的环境后,对于不同的环境,可能会有不同的环境变量,比如,API的服务部署地址,请求的版本号等。 用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,API网关会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境
String API所属分组的名称 api_type Integer API类型 sign_id String 签名密钥的编号 sign_name String 签名密钥的名称 sign_key String 签名密钥的key sign_secret String 签名密钥的密钥 env_id
method参数说明 名称 是否必选 参数类型 说明 operationId 否 String API的名称 description 否 String API的描述信息 schemes 否 Object API的请求协议对象数组定义,支持http、https tags 否 Object API标签对象数组定义
URI中的参数说明如下表所示。 表2 参数说明 参数 是否必选 类型 说明 project_id 是 String 项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 instance_id 是 String 实例ID,可从API网关控制台的专享版实例信息中获取。
define 否 String 导出API的定义范围: base:基础定义 full:全量定义 all:扩展定义 默认为base version 否 String 导出的API定义版本,默认为当前时间 type 否 String 导出的API定义的格式:json/yaml,默认为json
version 否 String 导出的API定义版本,默认为当前时间 type 否 String 导出的API定义的格式:json/yaml,默认为json 请求消息 表3 参数说明 参数位置 是否必选 类型 说明 body 是 String Array 导出的API ID列表 请求消息样例:
domain 否 String API的访问域名,未提供时根据mode的取值使用如下默认值: DEVELOPER API分组的子域名 MARKET 云商店为API分组分配的域名 CONSUMER API分组的子域名 path 是 String API的请求路径,需以"/"开头,最大长度1024
源IP流量限制是指一个API在时长之内被每个IP访问的次数上限,该数值不超过API流量限制值。输入的值不超过2147483647。正整数。 time_interval 是 Integer 流量控制的时长单位。与“流量限制次数”配合使用,表示单位时间内的API请求次数上限。输入的值不超过2147483647。正整数。
源IP流量限制是指一个API在时长之内被每个IP访问的次数上限,该数值不超过API流量限制值。输入的值不超过2147483647。正整数。 time_interval 是 Integer 流量控制的时长单位。与“流量限制次数”配合使用,表示单位时间内的API请求次数上限。输入的值不超过2147483647。正整数。
高精度流控:高并发场景下实例内部会有一定的性能损耗,适用于并发量较小的场景。 高性能流控:高并发场景下实例内部性能损耗较小,单位时间内会偶现较小的误差值,适用于并发量较大的场景。 单机流控:实例的每个节点各自进行流控,高并发场景下实例内部性能损耗最小,单位时间内会存在一定的误差值,适用于并发量更大的场景。 策略生效范围
I时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后端服务收到请求时,可以校验这个签名,如果签名校验不通过,则该请求不是API网关发出的请求,租户可以拒绝这个请求,从而保证API的安全性,避免API被未知来源的请求攻击。 调用方法 请参见如何调用API。 URI