本文介紹如何使用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。