本文介绍如何使用API快速访问功能。
背景信息
云端服务接口一般只能在集群内部进行访问,不便于服务接口测试验证。为此,EDAS提供API快速访问功能,通过拉起云端测试引擎来发起接口调用,提高接口测试验证效率。整体链路如下所示。
关于和ApiFox的合作说明
API快速访问页面框架是基于Apifox构建的。Apifox是领先的API文档、API调试、API Mock、API自动化测试一体化协作平台,已服务数百万开发者和企业,在能力上Apifox=Postman+Swagger+Mock+JMeter。更多信息,请参见Apifox官方文档。
使用说明
当前支持以下四种测试目标类型。
测试目标类型 | 类型描述 | 所需权限 |
---|---|---|
EDAS应用 | EDAS上所托管的应用节点。 | 该目标类型需要您具有EDAS应用的查看权限,否则不可见。同时还需要具备接口访问权限,才能发起内部接口调用。 |
自定义Host | 任意目标节点。 | 该目标类型需要您具有对应Host所在的VPC、vSwitch和安全组的查看权限,否则无法设置测试引擎所在网络。 |
Ingress | K8s集群所配置的Ingress接入点。 | 该目标类型需要您具有K8s集群Ingress的查看权限,否则Ingress不可见。 |
负载均衡(CLB) | 阿里云负载均衡CLB的端点。 | 该目标类型需要您具有负载均衡CLB的查看权限,否则负载均衡CLB不可见。同时还需具备VPC、vSwitch和安全组的查看权限,否则无法设置测试引擎所在网络。 |
每种类型选择节点的方式不同,但均使用相同的表单进行测试参数输入。
权限说明
EDAS应用
您需具备目标应用的读权限,才能选择该应用发起接口访问。同时,您仍需具备接口访问权限,才能调用成功。
- 登录EDAS控制台。
- 在左侧导航栏,选择 。
- 在权限助手页面,单击创建权限策略。
- 在创建权限策略配置向导页面的创建自定义权限策略页签设置权限策略的策略名称和备注。
- 在创建自定义权限策略页页签,单击新增权限语句,在加授权语句面板,设置对应应用的查看权限和接口访问权限,然后单击确认。
- 在创建权限策略配置向导页面,单击下一步。
- 在策略预览页签预览权限,根据页面提示在RAM控制台创建自定义权限策略,并授权给对应的RAM用户,然后单击完成。更多信息,请参见步骤三:创建RAM用户并添加授权。
控制台面板提示 新增策略授权成功,单击 返回列表查看返回 权限助手页面,查看新建的权限策略模板。
自定义Host
您需具备VPC、vSwitch和安全组的查看权限,才能配置该Host的网络信息并发起访问。VPC、vSwitch和安全组的权限设置,请参见使用RAM对VPC进行权限管理。
Ingress
您需具备K8s集群的查看权限,才能选择该集群的Ingress并发起访问。
- 登录EDAS控制台。
- 在左侧导航栏,选择 。
- 在权限助手页面,单击创建权限策略。
- 在创建权限策略配置向导页面的创建自定义权限策略页签,设置权限策略的策略名称和备注。
- 在创建自定义权限策略页签,单击新增权限语句,在加授权语句面板,设置对应应用的查看权限和接口访问权限,然后单击确认。
- 在策略预览页签预览权限,根据页面提示在RAM控制台创建自定义权限策略,并授权给对应的RAM用户,然后单击完成。更多信息,请参见步骤三:创建RAM用户并添加授权。
控制台面板提示 新增策略授权成功,单击 返回列表查看返回 权限助手页面,查看新建的权限策略模板。
负载均衡(CLB)
您需具备对应CLB的查看权限,才能选择该CLB为目标。同时,您仍需具备特定VPC、vSwitch和安全组权限,才能设置测试引擎所在网络并发起访问。
- CLB查看权限遵循CLB产品的鉴权策略,请参见RAM鉴权。
- VPC、vSwitch和安全组查看权限遵循VPC产品的鉴权策略,请参见使用RAM对VPC进行权限管理。
测试引擎初始化
在对特定目标发起第一次访问时,EDAS管控服务会进行测试引擎初始化,此阶段通常持续30秒到60秒左右。初始化完成后,在12小时内可重复使用测试引擎,无需初始化。测试引擎与测试目标一一对应,不同的测试目标对应不同的测试引擎,如果切换目标,测试引擎会重新初始化。
此外,云上服务节点通常分布在VPC网络中,并具有安全组限制。初始化测试引擎时,测试引擎需要根据目标VPC和安全组打通底层网络。
- 如果目标类型为EDAS应用和Ingress,EDAS管控服务会查询该节点(或集群)所在的VPC和安全组,无需在界面上手动选择。
- 如果目标类型为负载均衡(CLB)和自定义Host,需要在界面上手动选择VPC和安全组信息。
操作步骤
- 登录EDAS控制台。
- 在左侧导航栏,选择 ,在顶部菜单栏选择地域,并在页面上方选择微服务空间。
- 在API快速访问页面,选择不同的目标类型,完成相应配置。
- EDAS应用
配置项 说明 样例 应用 目标应用。 gateway-test 实例 应用内的实例节点、K8s Service以及负载均衡。 172.168.XX.XX:18081 方法 目标实例节点的测试接口。 /echo/{string} - Ingress
配置项 说明 样例 Cluster Ingress所在的K8s集群。 test-cluster Domain Ingress的域名规则。 demo.aliyundoc.com Path Ingress的转发路径。 / - 负载均衡(CLB)
配置项 说明 样例 负载均衡实例 目标负载均衡实例。 lb-bp10319**** 监听端口 负载均衡的监听端口。 80 VPC - 如果目标负载均衡为私网类型:该VPC为目标私网负载均衡和测试引擎所在的网络。
- 如果目标负载均衡为公网类型:该VPC将指定测试引擎所在网络。
vpc-10af0ak3**** 安全组 测试引擎绑定的安全组,该安全组需要放通访问目标负载均衡的流量。 sg-ka013k**** - 自定义Host
配置项 说明 样例 VPC 该VPC指定测试引擎的网络,同时也需要和目标节点所在的网络保持一致。如果该VPC非目标节点所在VPC网络,测试引擎将调用失败。 vpc-10af0ak3**** 安全组 测试引擎绑定的安全组,该安全组需要放通访问目标节点的流量。 sg-ka013k****
- EDAS应用
- 单击发送,等待测试引擎初始化,完成后可查看返回值信息。
表单说明如下。
表单项 说明 Params 发起请求的Query参数,参数说明如下: - 启用:表明是否启用该参数。
- 参数名:Query的参数名。
- 参数值:Query的参数值。
Body POST或PUT请求的Body,当前支持如下类型: - none
- x-www-form-urlencoded
- json
- xml
- raw
Headers 请求的Header,说明如下: - 启用:表明是否启用该Header。
- 参数名:Header的参数名。
- 参数值:Header的参数值。
Cookies 请求的Cookie,说明如下: - 启用:表明是否启用该Cookie。
- 参数名:Cookie的参数名。
- 参数值:Cookie的参数值。
返回值说明如下。
表单项 说明 Body 请求的响应内容,支持如下三种格式化: - Pretty:解析具体响应结构进行格式化展示。
- Raw:原始内容展示。
- Preview:预览展示。
Cookie 请求的响应Cookie。 Header 请求的响应Header。 实际请求 实际发起请求的URL和Header。