华为云用户手册

  • 对象模型 本节介绍VPC通道的对象模型。 “操作类型”用于描述字段的属性,表示对应字段的值可进行的操作: C:创建;U:更新;R:读取。 “是否必选”列表示对于“操作类型”为“C”的创建操作,对应字段是否为必选字段。 表1 VPC通道对象模型 参数 类型 说明 操作类型 是否必选 id String VPC通道的编号 R - name String VPC通道的名称 CRU 是 type Integer VPC通道的类型 2:Builtin通道类型 CRU 是 status Integer VPC通道的状态 1:正常 2:异常 R 是 project_id String 租户的编号 CRU 是 port Integer 端口 CR 是 balance_strategy Integer 分发算法 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) CRU 是 create_time Timestamp 创建时间 R 是 表2 健康检查对象模型 参数 类型 说明 操作类型 是否必选 id String 健康检查的编号 R - vpc_id String VPC通道的编号 CRU 是 protocol String 协议 tcp http CRU 是 path Integer 路径,仅当协议为http时生效 CRU 否 port Integer 端口,无值时,使用通道端口 CRU 否 threshold_normal Integer 正常阈值 CRU 是 threshold_abnormal Integer 异常阈值 CRU 是 time_out Integer 超时时间 CRU 是 time_interval Integer 间隔时间 CRU 是 http_code String 成功状态码,仅当协议为http时生效 CRU 否 create_time Timestamp 创建时间 R 是 表3 后端实例对象模型 参数 类型 说明 操作类型 是否必选 id String 后端实例对象的编号 R - vpc_id String VPC通道的编号 CRU 是 ext_vpc_id String 后端实例对象的主机关联的VPC的编号 该字段已废弃 R 是 instance_id String 实例的编号 CRU 否 instance_name String 实例的名称 CRU 否 host String 后端实例对象的主机地址 CRU 是 status Integer 后端实例对象状态 1:正常 2:异常 R 是 weight Integer 权重值 CRU 是 create_time Timestamp 创建时间 R 是 父主题: VPC通道管理
  • 响应消息 表5 参数说明 名称 类型 说明 id String VPC通道的编号。 name String VPC通道的名称。 type Integer VPC通道的类型。 2:API网关内置支持负载均衡功能的快速通道类型 member_type String VPC通道的成员类型。 ip(暂不支持) instance 仅VPC通道类型为2时有效。 status Integer VPC通道的状态。 1:正常 2:异常 port Integer VPC通道中主机的端口号。 balance_strategy Integer 分发算法。 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) create_time Timestamp VPC通道的创建时间。 响应消息样例: { "name": "vpc_001", "type": 2, "member_type": "instance", "port": 15565, "balance_strategy": 1, "id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "create_time": "2018-07-27T12:30:48.027484Z", "status": 1}
  • 请求消息 表2 参数说明 参数 是否必选 类型 说明 name 是 String VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“-”、“_”组成,且只能以英文或中文开头。 说明: 中文字符必须为UTF-8或者unicode编码。 type 是 Integer VPC通道的类型。 2:API网关内置支持负载均衡功能的快速通道类型 member_type type = 2时必选 String VPC通道的成员类型。 ip(暂不支持) instance 仅VPC通道类型为2时有效,缺省为instance。 port type = 2时必选 Integer VPC通道中主机的端口号。 取值范围1 ~ 65535,仅VPC通道类型为2时有效。 balance_strategy type = 2时必选 Integer 分发算法。 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) 仅VPC通道类型为2时有效,缺省为1。 vpc_health_config type = 2时必选 字典数据类型 健康检查详情,仅VPC通道类型为2时有效。 表3 健康检查详情 参数 是否必选 类型 说明 protocol 是 String 使用以下协议,对VPC中主机执行健康检查。 TCP HTTP HTTPS path protocol = http时必选 String 健康检查时的目标路径。 说明: 需要服从URI规范。 port 否 Integer 健康检查的目标端口,缺省时为VPC中主机的端口号。 取值范围1 ~ 65535。 threshold_normal 是 Integer 正常阈值。 判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 取值范围2 ~ 10 threshold_abnormal 是 Integer 异常阈值。 判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 取值范围2 ~ 10。 time_out 是 Integer 超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 取值范围2 ~ 30。 time_interval 是 Integer 间隔时间:连续两次检查的间隔时间,单位为秒。必须大于time_out字段取值。 取值范围5 ~ 300。 http_code protocol = http时必选 String 检查目标HTTP响应时,判断成功使用的HTTP响应码。 取值范围为100到599之前的任意整数值,支持如下三种格式: 多个值,如:200,201,202 一系列值,如:200-299 组合值,如:201,202,210-299 表4 后端实例列表 参数 是否必选 类型 说明 instance_name 是 String 后端实例的名称。 支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 instance_id 是 String 后端实例的编号。 支持英文,数字,“-”,“_”,1 ~ 64字符。 weight type = 2时必选 Integer 权重值。 权重值越大,转发到该后端实例的请求数量越多。 取值范围1 ~ 100,仅VPC通道类型为2时有效。 请求消息样例: { "balance_strategy": 1, "name": "vpc_001", "port": 15565, "type": 2, "member_type": "instance", "vpc_health_config": { "http_code": "205", "path": "/hc", "port": 15563, "protocol": "http", "threshold_abnormal": 5, "threshold_normal": 5, "time_interval": 200, "time_out": 30 }, "vpc_instances": [ { "instance_id": "instance01", "instance_name": "instance_name01", "weight": 10 } ]}
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1.0/apigw/vpc-channels[?page_size, page_no, id, name, vpc_type] o 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:id、name、vpc_type、page_size、page_no。
  • 响应消息 表3 参数说明 名称 类型 说明 total Integer 符合条件的VPC通道总数。 size Integer 本次查询返回的列表长度。 vpcs 字典数据类型 本次查询到的VPC通道列表。 表4 VPC参数说明 名称 类型 说明 id String VPC通道的编号。 name String VPC通道的名称。 type Integer VPC通道的类型。 2:API网关内置支持负载均衡功能的快速通道类型 member_type String VPC通道的成员类型。 ip(暂不支持) instance status Integer VPC通道的状态。 1:正常 2:异常 port Integer VPC通道中主机的端口号。 balance_strategy Integer 分发算法。 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) create_time Timestamp VPC通道的创建时间。 响应消息样例: { "total": 2, "size": 2, "vpcs": [ { "name": "通道1", "type": 1, "member_type": "instance", "port": 8080, "balance_strategy": 1, "id": "39c62689302a48fe9f4bd7cf5c052064", "create_time": "2018-04-24T12:07:58Z", "status": 1 }, { "name": "通道2", "type": 2, "member_type": "instance", "port": 8088, "balance_strategy": 1, "id": "e6831cbcbe2b45bbbc6318c2892f060b", "create_time": "2018-04-24T11:57:03Z", "status": 1 } ]}
  • 响应消息 表6 参数说明 名称 类型 说明 id String VPC通道的编号。 name String VPC通道的名称。 type Integer VPC通道的类型。 2:API网关内置支持负载均衡功能的快速通道类型 member_type String VPC通道的成员类型。 ip(暂不支持) instance 仅VPC通道类型为2时有效。 status Integer VPC通道的状态。 1:正常 2:异常 port Integer VPC通道中主机的端口号。 balance_strategy Integer 分发算法。 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) create_time Timestamp VPC通道的创建时间。 响应消息样例: { "name": "vpc_001", "type": 2, "member_type": "instance", "port": 15565, "balance_strategy": 1, "id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "create_time": "2018-07-27T12:30:48.027484Z", "status": 1}
  • 请求消息 表3 参数说明 参数 是否必选 类型 说明 name 是 String VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“-”、“_”组成,且只能以英文或中文开头。 说明: 中文字符必须为UTF-8或者unicode编码。 type 是 Integer VPC通道的类型。 2:API网关内置支持负载均衡功能的快速通道类型 member_type type = 2时必选 String VPC通道的成员类型。 ip(暂不支持) instance 仅VPC通道类型为2时有效,缺省为instance。 port type = 2时必选 Integer VPC通道中主机的端口号。 取值范围1 ~ 65535,仅VPC通道类型为2时有效。 balance_strategy type = 2时必选 Integer 分发算法。 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) 仅VPC通道类型为2时有效,缺省为1。 vpc_health_config type = 2时必选 字典数据类型 健康检查详情,仅VPC通道类型为2时有效。 vpc_instances 是 字典数据类型 后端实例列表,VPC通道类型为1时,有且仅有1个后端实例。 表4 健康检查详情 参数 是否必选 类型 说明 protocol 是 String 使用以下协议,对VPC中主机执行健康检查。 TCP HTTP HTTPS path protocol = http时必选 String 健康检查时的目标路径。 说明: 需要服从URI规范。 port 否 Integer 健康检查的目标端口,缺省时为VPC中主机的端口号。 取值范围1 ~ 65535。 threshold_normal 是 Integer 正常阈值。 判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 取值范围2 ~ 10 threshold_abnormal 是 Integer 异常阈值。 判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 取值范围2 ~ 10。 time_out 是 Integer 超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 取值范围2 ~ 30。 time_interval 是 Integer 间隔时间:连续两次检查的间隔时间,单位为秒。必须大于time_out字段取值。 取值范围5 ~ 300。 http_code protocol = http时必选 String 检查目标HTTP响应时,判断成功使用的HTTP响应码。 取值范围为100到599之前的任意整数值,支持如下三种格式: 多个值,如:200,201,202 一系列值,如:200-299 组合值,如:201,202,210-299 表5 后端实例列表 参数 是否必选 类型 说明 instance_name 是 String 后端实例的名称。 支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 instance_id 是 String 后端实例的编号。 支持英文,数字,“-”,“_”,1 ~ 64字符。 weight type = 2时必选 Integer 权重值。 权重值越大,转发到该后端实例的请求数量越多。 取值范围1 ~ 100,仅VPC通道类型为2时有效。 请求消息样例: { "balance_strategy": 1, "name": "vpc_001", "port": 15565, "type": 2, "member_type": "instance", "vpc_health_config": { "http_code": "205", "path": "/hc", "port": 15563, "protocol": "http", "threshold_abnormal": 5, "threshold_normal": 5, "time_interval": 200, "time_out": 30 }, "vpc_instances": [ { "instance_id": "instance01", "instance_name": "instance_name01", "weight": 10 } ]}
  • 响应消息 表3 参数说明 名称 类型 说明 id String VPC通道的编号。 name String VPC通道的名称。 type Integer VPC通道的类型。 2:API网关内置支持负载均衡功能的快速通道类型 member_type String VPC通道的成员类型。 ip(暂不支持) instance status Integer VPC通道的状态。 1:正常 2:异常 port Integer VPC通道中主机的端口号。 balance_strategy Integer 分发算法。 1:加权轮询(wrr) 2:加权最少连接(wleastconn) 3:源地址哈希(source) 4:URI哈希(uri) create_time Timestamp VPC通道的创建时间。 vpc_health_config 字典数据类型 健康检查详情。 vpc_instances 字典数据类型 后端实例列表。 表4 健康检查详情 名称 类型 说明 id String 健康检查的编号。 vpc_id String VPC通道的编号。 protocol String 使用以下协议,对VPC中主机执行健康检查。 TCP HTTP HTTPS path String 健康检查时的目标路径。 说明: 需要服从URI规范。 port Integer 健康检查的目标端口,缺省时为VPC中主机的端口号。 取值范围1 ~ 65535。 threshold_normal Integer 正常阈值。 判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 取值范围2 ~ 10 threshold_abnormal Integer 异常阈值。 判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 取值范围2 ~ 10。 time_out Integer 超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 取值范围2 ~ 30。 time_interval Integer 间隔时间:连续两次检查的间隔时间,单位为秒。必须大于time_out字段取值。 取值范围5 ~ 300。 http_code String 检查目标HTTP响应时,判断成功使用的HTTP响应码。 取值范围为100到599之前的任意整数值,支持如下三种格式: 多个值,如:200,201,202 一系列值,如:200-299 组合值,如:201,202,210-299 create_time Timestamp VPC通道的创建时间。 表5 后端实例详情 名称 类型 说明 id String 后端实例对象的编号。 vpc_id String VPC通道的编号。 status Integer 后端实例对象的状态。 instance_name String 后端实例的名称。 instance_id String 后端实例的ID。 host String 后端实例的主机地址 weight Integer 权重值。 权重值越大,转发到该后端实例的请求数量越多。 取值范围1 ~ 100。 create_time Timestamp 后端实例增加到VPC通道的时间。 响应消息样例: { "name": "vpc_001", "type": 2, "member_type": "instance", "port": 15565, "balance_strategy": 1, "id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "create_time": "2018-07-27T12:30:48Z", "status": 1, "vpc_health_config": { "protocol": "http", "path": "/hc", "port": 15563, "threshold_normal": 5, "threshold_abnormal": 5, "time_out": 30, "time_interval": 200, "http_code": "205", "id": "f26c1b158f2e40f2b531cf5c1b5e05e5", "vpc_id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "create_time": "2018-07-27T12:30:48Z" }, "vpc_instances": [ { "instance_id": "instance01", "instance_name": "instance_name01", "host": "127.0.0.1", "weight": 10, "id": "c3bc73605a8b400793363c87574fbad7", "vpc_id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "status": 1, "create_time": "2018-07-27T12:30:48Z" } ]}
  • 响应消息 表5 参数说明 名称 类型 说明 total Integer 该VPC通道下的云服务器总数。 size Integer 本次返回的云服务器总数。 vpc_instances 字典数据类型 云服务器列表。 表6 后端实例详情 名称 类型 说明 id String 后端实例对象的编号。 vpc_id String VPC通道的编号。 status Integer 后端实例对象的状态。 instance_name String 云服务器的名称。 instance_id String 云服务器的ID。 host String 云服务器的主机地址 weight Integer 权重值。 权重值越大,转发到该云服务器的请求数量越多。 取值范围1 ~ 100。 create_time Timestamp 云服务器增加到VPC通道的时间。 响应消息样例: { "total": 2, "size": 2, "vpc_instances": [ { "instance_id": "instance02", "instance_name": "instance_name02", "host": "127.0.0.2", "weight": 10, "id": "680e42fab429447ca23b9623107523d9", "vpc_id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "status": 1, "create_time": "2018-07-27T12:42:32Z" }, { "instance_id": "instance01", "instance_name": "instance_name01", "host": "127.0.0.1", "weight": 10, "id": "c3bc73605a8b400793363c87574fbad7", "vpc_id": "c3e6a7d85d9e47be89dfcc3cd37405d7", "status": 1, "create_time": "2018-07-27T12:30:48Z" } ]}
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI DELETE /v1.0/apigw/vpc-channels/{id}/members/{inst_id} URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 id 是 String VPC通道的编号。 inst_id 是 String 后端实例对象的编号。
  • 请求消息 表3 参数说明 参数 是否必选 类型 说明 vpc_instances 是 字典数据类型 后端实例列表。 表4 后端实例详情 参数 是否必选 类型 说明 instance_name 是 String 云服务器的名称。 支持汉字,英文,数字,“-”,“_”,“.”,1~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 instance_id 是 String 云服务器的ID。 支持英文,数字,“-”,“_”,1 ~ 64字符。 weight 是 Integer 权重值。 权重值越大,转发到该云服务器的请求数量越多。 取值范围1 ~ 100。 请求消息样例: { "vpc_instances": [ { "instance_id": "instance02", "instance_name": "instance_name02", "weight": 10 } ]}
  • 响应消息 表3 参数说明 参数 类型 说明 id String 绑定关系编号 api_id String API编号 env_id String 环境编号 acl_id String ACL策略编号 create_time Timestamp 绑定时间 响应消息样例: [ { "id": "4ffc0da71ddd4c22add8ff801e19846c", "api_id": "aebacac6095942b4b2dd2b209bb7b9bc", "env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID", "acl_id": "206bb985d8a04ec09f13c3e51ef77095", "create_time": "2018-07-27T11:27:10.7470224Z" }]
  • 响应消息 表3 参数说明 名称 类型 说明 id String 编号 acl_name String 名称 acl_type String 类型 PERMIT(白名单类型) DENY(黑名单类型) acl_value String ACL策略的值 entity_type String 对象类型: IP DOMAIN update_time Timestamp 更新时间 响应消息样例: {"id": "d402b35e-1054-4280-b1c5-0d741a28c995","acl_name": "goodone","entity_type": "DOMAIN","acl_type": "PERMIT","acl_value": "19asdfaf-adfadf","update_time": "2017-11-18T14:27:36.918578+08:00"}
  • 对象模型 API需要绑定ACL策略,ACL策略才能够对API起到保护作用。本节介绍ACL策略与API的绑定关系的对象模型,如表1所示。 “操作类型”用于描述字段的属性,表示对应字段的值可进行的操作: C:创建;U:更新;R:读取。 “是否必选”列表示对于“操作类型”为“C”的创建操作,对应字段是否为必选字段。 表1 api绑定acl的应用参数列表 参数 类型 说明 操作类型 是否必选 id String 绑定关系编号 R - front_api_id String API编号 CR 是 env_id String 环境的编号 CR 是 acl_id String ACL策略编号 CR 是 create_time Timestamp 绑定的时间 CR 否 父主题: API绑定ACL策略
  • 响应消息 表4 参数说明 名称 类型 说明 id String 编号 acl_name String 名称 acl_type String 类型 PERMIT(白名单类型) DENY(黑名单类型) acl_value String ACL策略的值 update_time Timestamp 更新时间 响应消息样例: {"id": "d402b35e-1054-4280-b1c5-0d741a28c995","acl_name": "goodone","acl_type": "PERMIT","acl_value": "19asdfaf-adfadf","update_time": "2017-11-18T14:27:36.918578+08:00"}
  • 请求消息 表3 参数说明 参数 类型 说明 acl_name String ACL策略名称。 支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 acl_type String 类型 PERMIT(白名单类型) DENY(黑名单类型) acl_value String ACL策略值,支持一个或多个值,使用英文半角逗号分隔 请求消息样例: {"acl_name": "string","acl_type": "PERMIT","acl_value": "19asdfaf-adfadf"}
  • 请求消息 表2 参数说明 参数 类型 说明 acl_name String ACL策略名称。 支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 acl_type String 类型 PERMIT (白名单类型) DENY (黑名单类型) acl_value String ACL策略值,支持一个或多个值,使用英文半角逗号分隔 entity_type String 对象类型: IP DOMAIN 请求消息样例: { "acl_name": "test001","acl_type": "PERMIT", "acl_value": "192.168.1.5,192.168.10.0/24,192.168.12.12-192.168.12.19", "entity_type": "IP"}
  • 响应消息 表3 参数说明 名称 类型 说明 id String 编号 acl_name String 名称 acl_type String 类型 PERMIT(白名单类型) DENY(黑名单类型) acl_value String ACL策略值 entity_type String 对象类型: IP DOMAIN update_time Timestamp 更新时间 响应消息样例: {"id": "d402b35e-1054-4280-b1c5-0d741a28c995", "acl_name": "test", "entity_type": "IP","acl_type": "PERMIT", "acl_value": "192.168.1.5,192.168.10.0/24,192.168.12.12-192.168.12.19","update_time": "2017-11-18T14:27:36.918578+08:00"}
  • 对象模型 API发布后,如果不想API被某些IP地址访问到,可以将这些IP地址加入黑名单,或者想API被某些特性的IP地址访问到,也可以将这些IP地址加入白名单。这样可以提高API的访问安全性,保护API免受攻击。本节介绍API的黑白名单(ACL策略)管理的对象模型,如表1 ACL策略对象模型所示。 “操作类型”用于描述字段的属性,表示对应字段的值可进行的操作: C:创建;U:更新;R:读取 “是否必选”列表示对于“操作类型”为“C”的创建操作,对应字段是否为必选字段。 表1 ACL策略对象模型 参数 类型 说明 操作类型 是否必选 id String 黑白名单的编号 R - acl_name String 黑白名单的名称 CRU 是 entity_type String 对象类型 IP DOMAIN (租户名称) CRU 是 acl_type String 黑白名单的类型 PERMIT (白名单) DENY (黑名单) CRU 是 acl_value String ip或者租户名称 CRU 是 project_id String 创建该ACL策略的租户编号 - - update_time Timestamp 最近一次更新时间 父主题: ACL策略管理
  • 响应消息 表4 参数说明 参数 类型 说明 id String 特殊配置的编号 strategy_id String 流控策略编号 instance_id Integer 特殊对象的身份标识 instance_name String 作用的APP或租户的名称 instance_type Integer 特殊对象的类型 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 apply_time Timestamp 设置时间 app_id String 作用的APP编号 app_name String 作用的APP名称 响应消息样例: {"id": "778879b8-df10-495b-a087-874859fdea6d","strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9","instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4","instance_name": "app_002","instance_type": "APP","call_limits": 180,"apply_time": "2017-12-29T03:11:18Z","app_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4","app_name": "app_002"}
  • 响应消息 表3 参数说明 名称 类型 说明 total Integer 满足条件的流控策略总数 size Integer 本次查询返回的列表长度 throttles 字典数据类型 本次查询返回的流控策略列表 表4 throttles参数说明 参数 类型 说明 id String 流控策略的ID name String 流控策略的名称 api_call_limits Integer 单个API流控时间内能够被访问的次数限制 user_call_limits Integer 单个用户流控时间内能够访问API的次数限制 app_call_limits Integer 单个APP流控时间内能够访问API的次数限制 ip_call_limits Integer 单个源IP流控时间内能够访问API的次数限制 time_interval Integer 流控的时长 time_unit String 流控的时间单位 remark String 描述 create_time Timestamp 创建时间 is_include_special_throttle Integer 是否包含特殊流控:1、包含;2、不包含 env_name String 流控策略生效的环境(即在哪个环境上有效) type Integer 流控策略的类型 bind_id String 流控策略与API绑定关系编号 bind_time Timestamp 流控策略与API绑定时间 bind_num Integer 流控策略绑定的API数量 enable_adaptive_control String 是否开启动态流控,暂不支持 响应消息样例: {"total": 1,"size": 1,"throttles": [{"id": "0325b671-2d50-4614-9868-22102262695d","name": "每秒1000次","api_call_limits": 1000,"user_call_limits": 500,"app_call_limits": 300,"ip_call_limits": 100,"time_interval": 1,"time_unit": "SECOND","create_time": "2017-12-29T01:55:59Z","remark": "API每秒1000次,用户500次,APP300次","is_inclu_special_throttle": 2,"env_name": "RELEASE", "type":1, "bind_id":"359f5c1868f647b6ad0f0d285154a791", "bind_time":"2019-07-08T01:27:38Z", "bind_num":1, "enable_adaptive_control":"FALSE"}]}
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1.0/apigw/throttle-bindings/binded-throttles[?page_no, page_size, api_id, throttle_id, throttle_name,env_id] 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:api_id 、throttle_id、throttle_name、env_id、page_size、page_no。 URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 api_id 是 String api的ID。 throttle_id 否 String 流控策略的编号 throttle_name 否 String 流控策略的名称 env_id 否 String 绑定的环境编号 page_size 否 Integer 每页显示的条数,默认值:20 page_no 否 Integer 页码,默认值:1
  • 对象模型 本节介绍特殊流控的对象模型,如下表所示: “操作类型”用于描述字段的属性,表示对应字段的值可进行的操作: C:创建;U:更新;R:读取。 “是否必选”列表示对于“操作类型”为“C”的创建操作,对应字段是否为必选字段。 表1 特殊流控对象模型 参数 类型 说明 操作类型 是否必选 id String 特殊配置的编号 R - strategy_id String 流控策略编号 CR 是 instance_id String 生效的特殊对象的编号 CR 是 instance_type String 对象类型APP/USER CR 是 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 CRU 是 apply_time Timestamp 设置的时间 R - 父主题: 设置特殊流控
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1.0/apigw/throttle-bindings/binded-apis[?page_size, page_no, throttle_id, env_id, group_id, api_id,api_name] 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:group_id、env_id、throttle_id、api_id、api_name、page_size、page_no。 URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 throttle_id 是 String 流控策略编号 env_id 否 String 环境的ID group_id 否 String API分组编号 api_id 否 String API编号 api_name 否 String API名称 page_size 否 Integer 每页显示的条数,默认值:20 page_no 否 Integer 页码,默认值:1
  • 响应消息 表3 参数说明 名称 类型 说明 total Integer 满足条件的API总数 size Integer 本次返回的API列表长度 apis 字典数据类型 本次查询返回的API列表 表4 apis参数说明 参数 类型 说明 id String API编号 name String API名称 group_id String API所属分组的编号 group_name String API所属分组的名称 type Integer API类型 remark String API描述 run_env_name String 发布的环境名 run_env_id String 发布的环境编号 publish_id String 发布记录的编号 throttle_apply_id String 与流控策略的绑定关系编号 throttle_name String 绑定的流控策略名称 apply_time Timestamp 与已绑定的流控策略的绑定时间 auth_type String API的认证方式 req_uri String API的访问地址 响应消息样例: {"total": 2,"size": 2,"apis": [{"id": "5bbc47e2-95b0-4a56-904e-a3cdc422f8e9","name": "查询分组列表","type": 1,"remark": "查询分组列表","group_id": "73c58022-f20d-495a-a188-85d718647f09","group_name": "api_group_001","run_env_name": "RELEASE","run_env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID","publish_id": "65e6fe53-1ac3-4481-ba36-9f0bc6f22057","throttle_apply_id": "90f05978-06a3-4096-8bea-b5e2fa12b843","throttle_name": "throttle1","apply_time": "2017-12-29T03:01:11.138456Z","auth_type": "APP","req_uri": "/test"},{"id": "6632a062-9dcf-4f18-9646-3cabb925a290","name": "查询API列表","type": 1,"remark": "查询API列表","group_id": "73c58022-f20d-495a-a188-85d718647f09","group_name": "api_group_001","run_env_name": "RELEASE","run_env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID","publish_id": "374a6d5a-20c7-4ea1-82e1-19fce4556956","throttle_apply_id": "507c6a9f-8322-4dc2-8ba5-b4d74e3690d3","throttle_name": "throttle1","apply_time": "2017-12-29T03:01:11.138456Z","auth_type": "APP","req_uri": "/test"}]}
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1.0/apigw/throttle-bindings/unbinded-apis[?page_size, page_no, throttle_id, group_id, env_id, api_id, api_name] 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:group_id、env_id、throttle_id、api_id、api_name、page_size、page_no。
  • 请求消息 表2 参数说明 名称 是否必选 类型 说明 throttle_id 是 String 流控策略的编号 env_id 否 String 环境的编号 group_id 否 String API分组编号 api_id 否 String API编号 api_name 否 String API名称 page_size 否 Integer 每页显示的条数,默认值:20 page_no 否 Integer 页码,默认值:1
  • 响应消息 表3 参数说明 名称 类型 说明 total Integer 满足查询条件的API的总个数 size Integer 当前查询到的列表长度 apis 字典数据类型 当前查询到的API列表 表4 apis参数说明 参数 类型 说明 id String API编号 name String API名称 group_id String API所属分组的编号 group_name String API所属分组的名称 type Integer API类型 remark String API描述 run_env_name String 发布的环境名 run_env_id String 发布的环境编号 publish_id String 发布记录的编号 throttle_apply_id String 与流控策略的绑定关系编号 throttle_name String 绑定的流控策略名称 apply_time Timestamp 已绑定的流控策略的绑定时间 auth_type String API的认证方式 req_uri String API的访问地址 响应消息样例: {"total": 2,"size": 2,"apis": [{"id": "5bbc47e2-95b0-4a56-904e-a3cdc422f8e9","name": "查询分组列表","type": 1,"remark": "查询分组列表","group_id": "73c58022-f20d-495a-a188-85d718647f09","group_name": "api_group_001","run_env_name": "RELEASE","run_env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID","publish_id": "65e6fe53-1ac3-4481-ba36-9f0bc6f22057","auth_type": "APP","req_uri": "/test"},{"id": "6632a062-9dcf-4f18-9646-3cabb925a290","name": "查询API列表","type": 1,"remark": "查询API列表","group_id": "73c58022-f20d-495a-a188-85d718647f09","group_name": "api_group_001","run_env_name": "RELEASE","run_env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID","publish_id": "374a6d5a-20c7-4ea1-82e1-19fce4556956","auth_type": "APP","req_uri": "/test"}]}
  • 响应消息 表3 参数说明 名称 类型 说明 total Integer 符合条件的流控策略的数量 size Integer 本次返回的列表长度 throttles 字典数据类型 本次查询到的流控策略列表 表4 throttles参数说明 参数 类型 说明 id String 流控策略的ID name String 流控策略的名称 api_call_limits Integer 单个API流控时间内能够被访问的次数限制 user_call_limits Integer 单个用户流控时间内能够访问API的次数限制 app_call_limits Integer 单个APP流控时间内能够访问API的次数限制 ip_call_limits Integer 单个IP流控时间内能够访问API的次数限制 time_interval Integer 流控的时长 time_unit String 流控的时间单位 remark String 描述 create_time Timestamp 创建时间 is_include_special_throttle Integer 是否包含特殊流控配置: 1:包含 2:不包含 type Integer 流控策略的类型,取值如下: 1 独享 2 共享 bind_num Integer 流控绑定的API数量 enable_adaptive_control String 是否开启动态流控: TRUE FALSE 暂不支持 响应消息样例: {"total": 2,"size": 2,"throttles": [{"id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9","name": "每秒500次","api_call_limits": 500,"user_call_limits": 200,"app_call_limits": 100, "app_call_limits": 100,"time_interval": 1,"time_unit": "SECOND","create_time": "2017-12-29T02:04:08Z","remark": "API每秒500次,用户200次,APP100次,IP100次","is_inclu_special_throttle": 2, "type":1, "bind_num":1, "enable_adaptive_control": "FALSE"},{"id": "0325b671-2d50-4614-9868-22102262695d","name": "每秒1000次","api_call_limits": 1000,"user_call_limits": 500,"app_call_limits": 300, "ip_call_limits": 600,"time_interval": 1,"time_unit": "SECOND","create_time": "2017-12-29T01:55:59Z","remark": "API每秒1000次,用户500次,APP300次,IP600次","is_inclu_special_throttle": 2, "type":1, "bind_num":1, "enable_adaptive_control": "FALSE"}]}
  • 响应消息 表3 参数说明 名称 类型 说明 throttle_applys 字典数据类型 API与流控策略的绑定关系列表 表4 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"}]}
共100000条