全部產品
Search
文件中心

API Gateway:通過API Gateway對接Function Compute服務(Web函數)

更新時間:Aug 31, 2024

本文將快速引導您如何在API Gateway中對接Function Compute服務(Web函數),以及如何使用阿里雲APP認證中的AppCode進行調用。

配置流程

您需要依次完成以下步驟:

  1. 建立Web函數

  2. 建立後端服務

  3. 建立分組

  4. 建立API

  5. 建立應用和API授權

  6. 調試API

  7. 調用API

建立Web函數

  1. 在配置API Gateway前,需要先在Function Compute中建立一個Web函數,可參見建立Web函數

    重要

    建立Function Compute服務(Web函數)的地區與API Gateway執行個體地區相同,且使用的函數代碼運行環境是Java8,代碼上傳方式是使用範例程式碼。

  2. 在函數建立成功後進入函數詳情頁,單擊配置欄,在左側導覽列選擇觸發器,在目標觸發器的配置資訊列處複製觸發器的內網訪問地址https://***-helloworld-**.cn-hangzhou.fcapp.run

建立後端服務

API Gateway允許將後端服務配置為region內的資源,簡化管理流程。您只需在API Gateway控制台建立後端服務,並在其環境中配置不同的後端服務地址。隨後,在建立API時,直接選用已配置的後端服務即可。

  1. 登入API Gateway控制台,選擇地區並在左側導覽列選擇API管理 > 後端服務,單擊右上方建立後端服務

  2. 建立後端服務彈框中,填寫名稱FC-backend類型選擇Function Compute產品版本選擇Function Compute3.0函數類型選擇HTTP函數單擊確定

  3. 在後端服務列表頁面,單擊FC-backend的後端服務,選擇線上,單擊右上方建立

  4. 在建立的基本資料頁面,輸入建立Web函數觸發器路徑https://***-helloworld-**.cn-hangzhou.fcapp.run,單擊發布

    image

建立分組

API分組是API的嵌入式管理單元,因此需要先建立API分組,然後在分組下建立API。

  1. 登入API Gateway控制台,選擇地區並在左側導覽列選擇API管理 < 分組管理,單擊右上方建立分組

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

    image

    說明

    API Gateway的分組需要和Function Compute處於同一地區。

建立API

  1. 登入API Gateway控制台,選擇地區並在左側導覽列選擇API管理 > 分組管理

  2. 分組列表頁面下,單擊所建立的FC-test分組操作列下的API管理

  3. API列表頁面,單擊右上方建立API

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

    配置項

    樣本值

    分組

    FC-Group

    API名稱

    FC-test

    安全認

    阿里雲APP

    AppCode認證

    允許APPcode(header&Query)認證

    簽名演算法

    HMAC_SHA256

    image

  5. 定義API請求欄,配置如下資訊,單擊下一步

    image

  6. 定義API後端服務欄,配置如下資訊,單擊下一步

    配置項

    樣本值

    後端配置

    選擇使用已有的後端服務

    後端服務類型

    Function Compute

    產品版本

    Function Compute3.0

    函數類型

    HTTP函數

    後端服務

    FC-backend

    後端請求Path

    /

    HTTP Method

    GET

    後端逾時

    10000

    image

    說明

    定於API Gateway收到用戶端的請求後,進行何種參數映射、處理,以及串連哪個後端地址。本例中的後端服務類型選擇Function Compute,選擇後端服務。

  7. 定義返回結果欄,單擊建立

  8. 在建立成功之後彈框中單擊發布

  9. 在發布彈框中發布的環境選擇線上,輸入請填寫變更備忘,單擊發布

    image

建立應用和API授權

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

建立應用

  1. 登入API Gateway控制台,選擇地區並在左側導覽列選擇API調用 > 應用管理

  2. 應用與授權頁面,單擊右上方建立APP

  3. 建立應用頁面,輸入應用程式名稱fcAPP,單擊確定

    image

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

    image

對API進行授權

  1. 登入API Gateway控制台,選擇地區並在左側導覽列選擇API管理 > API列表

  2. 在API列表頁面,找到已建立好的FC-testAPI,單擊操作image> 授權

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

    image

調試API

API Gateway提供了線上調試的功能,因此一般建議在API Gateway上完成API配置之後,先通過此功能確認API是否配置成功,然後再通過用戶端進行調用。

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

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

    image

調用API

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

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

執行效果如下圖所示:

image