全部產品
Search
文件中心

API Gateway:使用後端服務提高管理效率

更新時間:Jul 13, 2024

本文將快速引導您在API Gateway建立後端服務,並使用該後端服務建立,發布,管理API。

概述

隨著使用者管理的API越來越多,為了讓使用者更方便的對API進行治理,API Gateway將現在支援的後端服務提取為region上的資源。使用者可以在API Gateway控制台統一配置後端,然後在不同的環境上定義不同的後端地址,建立API的時候先選擇後端,然後根據發布的環境不同,指向不同的後端地址;同時,使用者可以在後端服務的配置頁面對已經發布的API進行統一管理,例如:

1. 當使用者的某個後端服務在測試環境的後端地址A需要修改為後端地址B時,只需要修改該後端服務在測試環境上的後端地址,與之關聯的API將會自動更新,使用者不需要重新發布,直接調用API就可以指向新的後端地址B;

2. 當使用者的某個後端服務在測試環境的後端地址不再提供使用,可以刪除後端服務在測試環境上的後端地址,與之關聯的API將會被大量下線。

具體的操作,我們會在下文做進一步詳細說明:

步驟

  1. 建立後端服務;

  2. 為後端服務指定不同環境的後端地址;

  3. 建立並定義API;

  4. 建立應用和API授權;

  5. API調試

  6. 對API統一管理;

建立後端服務

  1. 登入API Gateway控制台,在左側導覽列API管理下,選擇後端服務,進入後端服務列表頁面;

  2. 在介面右上方單擊建立後端服務,進行後端服務的建立,這裡以HTTP類型為例(海外region及中國香港不支援建立HTTP/OSS類型的後端服務):

每個後端服務都會指定為一種後端類型,建立後,類型不可以修改,後端服務名稱和描述可以重複修改;當前支援的後端服務類型有HTTP,VPC,Function Compute,OSS和MOCK。

重要

需要注意的是,當前金融雲和政務雲環境暫不支援使用OSS作為後端服務,在之後的版本裡我們會支援金融雲和政務雲建立後端服務為OSS的API;(海外region及中國香港不支援建立HTTP/OSS類型的後端服務)

為後端服務指定不同環境的後端地址

  1. 建立好後端服務以後,在後端服務後的操作欄選擇配置及關聯的API,進入後端服務定義頁面;介面上的四個選項卡中,‘草稿’可以查看使用了該後端服務的API,‘測試,預發,線上’可以定義具體的後端服務地址,並且可以查看使用了該後端服務並進行了發布的API;

  2. 選擇其中一個環境如測試環境,選擇右上方的建立;

  3. 在該頁面定義後端服務的地址,填入後端服務地址後單鍵發行,頁面會提示發布成功,即可進入API的建立;

  4. 這裡,我們對各類型的後端服務進行一個簡單的說明:

說明

對於HTTP類型的後端服務,僅需要填入後端服務的地址;

對於VPC類型的後端服務,定義VPC後端服務需要選擇您在VPC授權裡建立的授權,您也可以勾選使用HTTPS協議,勾選後,在請求後端的時候將會使用HTTPS協議;

對於Function Compute的後端服務,首先需要選擇Function Compute的類型是事件類型或HTTP類型;如果是事件函數,需要按照表格中的內容填入需要的資訊,如果是HTTP函數需要填入觸發器路徑;

對於OSS的後端服務,為了網關訪問您在Object Storage Service中的檔案,您需要對網關進行授權,其中對於讀許可權,網關擷取的許可權是指定bucket下的oss:GetObject,對於寫入權限,網關擷取的許可權是指定bucket下的oss:PutObject和oss:DeleteObject,您在之後如果想取消授權,可以在bucket裡的bucket策略中手動刪除即可。

建立並定義API

  1. 在左側導覽列選擇API列表,在API列表頁,單擊右上方建立API進入API建立頁面;

  2. 配置API基本資料:本環節是定義了API基本資料,包括API分組、API名稱、安全認證方式、API類型、和描述等。選擇您的分組,並寫入對應配置,單擊下一步。為了方便之後的測試,這裡我們將AppCode認證選擇為允許APPcode認證(header&Query)

  3. 定義API請求:本環節是定義client端(如瀏覽器、手機APP或其他的業務系統)如何請求您的API,需要確定的內容包括請求類型、協議、請求Path、HTTP Method、入參請求模式、和入參定義。在本例中,HTTP Method選擇GET,入參請求方式選擇入參透傳,表示發送過來的參數API Gateway不做處理,直接透傳給後端服務。

  4. 定義API後端服務:本環節是定義API Gateway收到client端的請求後,進行何種參數映射、處理,以及串連哪個後端地址,這裡我們使用之前建立的後端服務進行說明:首先在後端配置選擇使用已有的後端服務;然後選擇後端服務類型,控制台會自動過濾您所選類型的後端服務,選擇我們前邊建立的後端服務testHttp,將滑鼠放在查看環境配置上可以看到該後端服務在不同環境上的具體後端地址;選好後端服務以後,對於不同的後端服務類型,對其他的配置進行補全即可,對於後端為HTTP類型的API需要填寫後端請求path,HTTP Method和後端逾時時間;

  5. 定義返回結果:本環節用於API協助文檔的自助產生,協助API使用者更好理解。可以設定返回ContentType、返回結果樣本和失敗返回結果樣本。本例中不涉及到這部分,因此可以單擊儲存按鈕。

  6. 發布API:在上一環節儲存成功後,會提示您進行發布,您對API進行過任何的配置,都需要發布到對應的環境(API Gateway內建了三個環境:“線上“、“預發“、“測試“)中才能夠生效。

    重要

    需要注意的是,使用後端服務進行發布的時候,需要您先在對應的環境上進行定義才能進行發布,否則無法單鍵發行按鈕。

建立應用和API授權

  1. 應用(APP)是您調用API服務時的身份。在上一步建立API中,認證方式選擇的是“阿里雲APP認證“,因此在API發布後,還需要建立APP,並將APP和API的對應關係建立好,才能夠正常訪問。

  2. 在調用API菜單中選擇應用管理,建立一個APP。可以看到阿里雲APP下有兩種認證方式,AppKey和AppCode。本例中我們選擇使用APPCode的方式進行簡單認證。關於阿里雲APP的更多描述可見此文檔使用簡單認證(AppCode)方式調用API

  3. 在API列表,找到剛建立好的API,在操作項中,單擊授權。注意環境需要選擇已經進行了發布的環境。搜尋之前建立的應用,單擊添加;單擊確定,提示授權成功,即成功授權。

API調試

授權成功後即可進行API調試,API Gateway提供了線上調試的功能,因此一般建議在API Gateway上完成API配置之後,可以先通過此功能確認API是否配置成功,然後再通過client端進行調用。在API列表頁,選擇之前建立的API,進入詳情頁,單擊調試API。如果您定義了API的入參,在調試API頁面中也可以輸出不同的參數查看API的執行情況。在調試API中,注意認證方式選擇已經授權的APP,並且stage選擇此APP授權好的環境,如果選擇錯誤的stage,可能會造成API調試失敗。

對API統一管理

  1. 當您修改後端服務在某個環境上的定義時,那麼發布在該環境上的所有使用該後端的API都會被批量發布重新整理。

  2. 現在有多個API使用了後端服務testHttp,並且發布在了測試環境,單擊右上方修改進入修改介面,現在修改後端地址並進行發布,會提示您當前環境有已經發布的API,修改後關聯的API會批次更新後端地址,確定之後可以在列表中看到發布的API的發布結果,當您再使用API進行調用的時候,就會請求到新的後端地址。

  3. 當您的後端服務的某個環境上的後端地址不再使用,您可以選擇刪除後端服務在該環境的定義刪除以後,使用該後端服務並發布在此環境上的API都會被大量下線處理。

    警告

    以上操作都會對API大量操作且無法復原,請您謹慎進行操作。