全部產品
Search
文件中心

API Gateway:通過API Gateway對接Function ComputeFC3.0(Web函數)

更新時間:Oct 19, 2024

為了提供更安全、更可控的API訪問方式,您可以通過API Gateway來更好的管理和監控Function Compute服務,本文將快速引導您如何在API Gateway中對接Function ComputeFC3.0(Web函數),以及如何使用阿里雲APP認證中的AppCode進行調用。

前提條件

建立API Gateway執行個體,關於執行個體的選型資訊,請參考執行個體類型與選擇指南

方案概覽

本方案通過在Function Compute3.0中部署Web函數,在API Gateway中建立後端服務並指向Function Compute,使用阿里雲APP認證中的AppCode進行安全調用,協助您瞭解如何通過API Gateway控制對Function Compute服務的訪問。大致分為以下幾步:

  1. 建立Web函數:構建一個基於Function Compute3.0的Web應用程式。

  2. 建立後端服務:在API Gateway中定義一個指向Function Compute服務的後端服務,確保API請求能準確地轉寄給對應的Web函數,實現前後端的無縫整合。

  3. 建立API:使得外部應用能夠按照指定的方式調用內部的Web函數服務。

  4. 建立應用和API授權:建立API訪問的身分識別驗證機制,確保只有經過授權的應用才能調用特定的API,增強系統的安全性。

  5. 調試API:利用API Gateway提供的線上調試工具,可以在正式發布前測試API的功能是否按預期工作,及時發現並解決問題。

  6. 調用API:完成所有配置後,即可通過API Gateway提供的API介面對外提供服務,支援其他系統或應用調用。

步驟一:建立Web函數

在API Gateway對接Function Compute服務前,需要先在Function Compute服務中建立一個Web函數,協助您快速構建和部署Web應用,本文以Function Compute3.0為例。

  1. 登入Function Compute3.0控制台,單擊左側導覽列的函數,進入函數頁面,並在頂部功能表列選擇地區。

    重要

    建立的Web函數的地區應與API Gateway執行個體地區相同。

  2. 函數頁面,單擊建立函數,選擇Web函數,並進行如下配置,然後單擊建立

    • 基本設定:設定函數名稱

    • 函數代碼:配置函數的運行環境和代碼資訊,啟動命令監聽連接埠使用預設配置。

      image

  3. 在函數建立成功後將自動進入函數詳情頁,單擊配置欄,在左側導覽列選擇觸發器,在目標觸發器的配置資訊列處複製觸發器的內網訪問地址:https://helloworld-***.cn-hangzhou-vpc.fcapp.run方便在建立後端服務時使用。

    image

步驟二:建立後端服務

API Gateway允許將後端服務配置為地區內的資源,簡化管理流程。您只需在API Gateway中建立後端服務,並配置後端服務地址來對接Function Compute服務即可。

  1. 登入API Gateway控制台,左側導覽列選擇API管理 > 後端服務,在頂部功能表列選擇地區,單擊建立後端服務

    image

  2. 建立後端服務彈框中,按圖所示填寫配置資訊,並單擊確定

    image

  3. 在後端服務頁面,單擊剛剛建立的後端服務,進入後端服務定義頁,選擇線上頁簽,在基本資料處單擊建立

    image

  4. 在建立的基本資料頁面,配置觸發器路徑建立Web函數時複製的觸發器的內網訪問地址https://helloworld-***.cn-hangzhou-vpc.fcapp.run,單擊發布

    image

步驟三:建立API

建立API使得外部應用能夠按照指定的方式調用內部的Web函數服務,使用API分組組織和管理多個相關的API介面,便於實施統一的安全性原則和流量控制措施。

  1. API Gateway控制台,左側導覽列選擇API管理 > 分組管理,單擊建立分組以便對API進行管理。

  2. 建立分組彈框頁面,選擇執行個體,輸入分組名稱FC-GroupBasePath/,單擊確定

    image

  3. 分組建立完之後,單擊所建分組操作列下的API管理,進入API列表頁面。

    image

  4. 單擊建立API,在基本資料欄,配置如下資訊,並單擊下一步

    image

  5. 定義API請求欄,配置請求Path/,其他資訊保持預設,單擊下一步

  6. 定義API後端服務欄,如圖所示進行配置,並單擊下一步

    image

  7. 定義返回結果欄,保持系統預設配置,單擊建立,在建立成功之後,單擊API操作列中的發布

  8. 在發布API彈框中,進行如下配置,並單擊發布

    image

步驟四:建立應用和API授權

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

  1. API Gateway控制台的左側導覽列選擇API調用 > 應用管理

  2. 應用與授權頁面,單擊右上方建立APP。在建立應用頁面,輸入應用程式名稱fcAPP,單擊確定

  3. 單擊已建立好的fcApp應用程式名稱,進入應用詳情頁面,可以看到阿里雲APP下有兩種認證方式,AppKeyAppCodeAppKey方式有一組AppKeyAppSecret,您可以理解為帳號密碼,調用API的時候需要將AppKey作為參數傳入,AppSecret用於簽名計算,網關會校正這對金鑰組您進行身份認證。

    image

  4. 在左側導覽列選擇API管理 > API列表,在API列表頁面,找到已建立好的FC-testAPI,單擊操作image> 授權

  5. 在授權頁面,配置選擇要授權的環境線上。搜尋之前建立的應用fcApp,單擊添加確定,提示授權成功,即成功授權。

    image

步驟五:調試API

利用API Gateway提供的線上調試工具,可以在正式發布前測試API的功能是否按預期工作,及時發現並解決問題。

  1. API Gateway控制台左側導覽列選擇API調用 > 調試

  2. 在調試頁面選擇,所建立的FC-testAPI,驗證方式選擇使用AppCode,然後單擊發送請求,看到下圖資訊說明配置成功。

    image

步驟六:調用API

您已經建立API、建立APP、建立了授權關係,調試API完成,並將API發布到線上環境,下面介紹如何使用APPCode的認證方式來在您的業務系統中調用發布好的API。可參考使用簡單認證(AppCode)方式調用API瞭解更多,本例中使用curl進行調用。

API Gateway控制台左側導覽列API調用 > 應用管理,在應用與授權頁面找到授權的APP,單擊進入擷取APPCode。然後按照以下樣本調用API。

curl -i -X GET "http://fd6f8e2b7bf44ab181a56****-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE 7d2b7e4945ce44028ab00***"

執行效果如下圖所示:

image