6月5日,阿裡雲的AIP網關上線了一個新功能,用戶定義API後端服務時可以選擇使用Function Compute,這樣API網關的用戶直接使用函數計算的技術能力,這也使得AIP網關具備可擴展的後端應用,與此同時函數計算也享受到AIP網關帶來的諸多的好處,例如API的請求流量管控、安全鑒權、訪問監控、統計等等。
下面我做一個簡單的例子,把函數計算 API網關 雲市場三者結合起來,提供一個能查詢手機号歸屬地的服務,在這個框架裡不需要配置WEB容器、不需要搭建運行環境、不需要購買負載均衡,通過配置和一段代碼就能完成一個高擴容無服務器的應用服務提供出去。
AIP網關 函數計算 雲市場的結合架構圖
整個這個架構搭建分三部分設置,雲市場服務購買(免費),編寫函數代碼,設置API網關,調試成功就可以開放API地址了。
雲市場申請服務
進入雲市場選擇手機号歸屬地查詢(免費)服務,開通該服務,獲取到服務的APPCode,填寫到對應的代碼中。
函數計算設置
第一步:創建一個服務
直接在函數控制台上創建一個服務,填寫名稱和備注,或者選擇已有的服務,直接略過這步。
第二步:創建空白函數,選用Python2.7編譯環境,設置執行時間:1500ms,執行的内存128MB,因為是調用雲市場的接口來取到内容,該接口平均響應時間在1200ms左右。
其中函數代碼塊:
import logging
第三步:通過控制台調試程序:
如果想在控制台進行對程序調試,可以在執行頁面的觸發事件中加入模拟API網關invoke函數請求串:
{
API網關的設置:
第一步:建立分組:如果沒有分組,創建一個分組,如果有,直接略過,看下一步,創建API
第二步:建立API,通過引導頁面,完成4步操作,填寫基本信息的時候,這個地方為了演示效果,選着不認證,一般對外的分組建議都選用阿裡雲APP認證,确保API請求安全和計量統計。
定義API請求:請求的Path就是你最終暴露給客戶的路徑,另外入參定義裡,需要填寫一個入參名,本例中設置mob,傳入一個手機号,見下圖:
定義API後端服務的時候,需要選擇FunctionCompute的類型,填寫的Serivce和Function都是事先在函數計算中設置好,這個地方填寫進去即可,
注意兩點:
1、你API網關所在的區域跟函數計算的區域同一個,避免走公網響應時間變長
2、在API網關上設置的超時時間不小于你函數執行的時間,避免API網關提前終止請求響應。
第三步:返回結果示例:
參考手機号歸屬地提供商的返回值,填寫到API網關中,代碼如下:
{
第四步:測試執行效果
點擊調試API頁面,在請求串裡填寫手機号,執行後,即可看到手機号歸屬地的返回。
通過URL地址發請求效果:
在API網關中,如果自己有域名,在分組中設置自己的域名,也可以通過系統提供的二級域名來簡單試驗一下,看下圖,把地址拼接完整的請求地址,可以通過浏覽器試驗一下效果如何。
在分組詳情中可以查到二級域名:
在浏覽器請求的演示效果:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!