為了提供更安全、更可控的API訪問方式,您可以通過API網關來更好的管理和監控函數計算服務,本文將快速引導您如何在API網關中對接函數計算FC3.0(Web函數),以及如何使用阿里云APP認證中的AppCode進行調用。
前提條件
方案概覽
本方案通過在函數計算3.0中部署Web函數,在API網關中創建后端服務并指向函數計算,使用阿里云APP認證中的AppCode進行安全調用,幫助您了解如何通過API網關控制對函數計算服務的訪問。大致分為以下幾步:
創建Web函數:構建一個基于函數計算3.0的Web應用程序。
創建后端服務:在API網關中定義一個指向函數計算服務的后端服務,確保API請求能準確地轉發給對應的Web函數,實現前后端的無縫集成。
創建API:使得外部應用能夠按照指定的方式調用內部的Web函數服務。
創建應用和API授權:建立API訪問的身份驗證機制,確保只有經過授權的應用才能調用特定的API,增強系統的安全性。
調試API:利用API網關提供的在線調試工具,可以在正式發布前測試API的功能是否按預期工作,及時發現并解決問題。
調用API:完成所有配置后,即可通過API網關提供的API接口對外提供服務,支持其他系統或應用調用。
步驟一:創建Web函數
在API網關對接函數計算服務前,需要先在函數計算服務中創建一個Web函數,幫助您快速構建和部署Web應用,本文以函數計算3.0為例。
登錄函數計算3.0控制臺,單擊左側導航欄的函數,進入函數頁面,并在頂部菜單欄選擇地域。
重要創建的Web函數的地域應與API網關實例地域相同。
在函數頁面,單擊創建函數,選擇Web函數,并進行如下配置,然后單擊創建。
基本設置:設置函數名稱。
函數代碼:配置函數的運行環境和代碼信息,啟動命令和監聽端口使用默認配置。
在函數創建成功后將自動進入函數詳情頁,單擊配置欄,在左側導航欄選擇觸發器,在目標觸發器的配置信息列處復制觸發器的內網訪問地址:
https://helloworld-***.cn-hangzhou-vpc.fcapp.run
方便在創建后端服務時使用。
步驟二:創建后端服務
API網關允許將后端服務配置為地域內的資源,簡化管理流程。您只需在API網關中新建后端服務,并配置后端服務地址來對接函數計算服務即可。
步驟三:創建API
創建API使得外部應用能夠按照指定的方式調用內部的Web函數服務,使用API分組組織和管理多個相關的API接口,便于實施統一的安全策略和流量控制措施。
在API網關控制臺,左側導航欄選擇API管理 > 分組管理,單擊創建分組以便對API進行管理。
在創建分組彈框頁面,選擇實例,輸入分組名稱為
FC-Group
,BasePath為/
,單擊確定。分組創建完之后,單擊所建分組操作列下的API管理,進入API列表頁面。
單擊創建API,在基本信息欄,配置如下信息,并單擊下一步。
在定義API請求欄,配置請求Path為
/
,其他信息保持默認,單擊下一步。在定義API后端服務欄,如圖所示進行配置,并單擊下一步。
在定義返回結果欄,保持系統默認配置,單擊創建,在創建成功之后,單擊API操作列中的發布。
在發布API彈框中,進行如下配置,并單擊發布。
步驟四:創建應用和API授權
應用(APP)是調用API服務時的身份,在創建API時,認證方式選擇的是阿里云APP認證,因此在API發布后,還需要創建APP,并將APP和API的授權關系建立好,才能夠正常訪問。
在API網關控制臺的左側導航欄選擇API調用 > 應用管理。
在應用與授權頁面,單擊右上角創建APP。在創建應用頁面,輸入應用名稱為
fcAPP
,單擊確定。單擊已創建好的
fcApp
應用名稱,進入應用詳情頁面,可以看到阿里云APP下有兩種認證方式,AppKey
和AppCode
。AppKey
方式有一組AppKey
和AppSecret
,您可以理解為賬號密碼,調用API的時候需要將AppKey
作為參數傳入,AppSecret
用于簽名計算,網關會校驗這對密鑰對您進行身份認證。在左側導航欄選擇API管理 > API列表,在API列表頁面,找到已創建好的
FC-test
API,單擊操作列> 授權。在授權頁面,配置選擇要授權的環境為線上。搜索之前創建的應用
fcApp
,單擊添加并確定,提示授權成功,即成功授權。
步驟五:調試API
利用API網關提供的在線調試工具,可以在正式發布前測試API的功能是否按預期工作,及時發現并解決問題。
在API網關控制臺左側導航欄選擇API調用 > 調試。
在調試頁面選擇,所創建的
FC-test
API,驗證方式選擇使用AppCode,然后單擊發送請求,看到下圖信息說明配置成功。
步驟六:調用API
您已經創建API、創建APP、建立了授權關系,調試API完成,并將API發布到線上環境,下面介紹如何使用APPCode的認證方式來在您的業務系統中調用發布好的API??蓞⒖?a href="http://bestwisewords.com/zh/api-gateway/traditional-api-gateway/user-guide/call-an-api-operation-by-using-an-appcode#topic-1867671" id="811c713afeutn" title="" class="xref">使用簡單認證(AppCode)方式調用API了解更多,本例中使用curl進行調用。
在API網關控制臺左側導航欄API調用 > 應用管理,在應用與授權頁面找到授權的APP,單擊進入獲取APPCode。然后按照以下示例調用API。
curl -i -X GET "http://fd6f8e2b7bf44ab181a56****-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE 7d2b7e4945ce44028ab00***"
執行效果如下圖所示: