作者:知曉雲 資深工程師 John Deng
隨着知曉雲小夥伴們業務的發展,對我們服務的支持又有了新的要求,比如在對接第三方服務時,需要自定義數據結構等。爲此,經過 32 次的需求討論會以及工程師們的緊張開發後,知曉雲 API 網關誕生了。你可以通過可視化界面配置 API ,點擊發布,即可完成一個對外服務的 API,再也無需等待構建/部署流程,大大節約了開發成本。
**知曉雲 API 網關(API Gateway),是 API 發佈、管理、運維的全生命週期管理工具。**讓開發者通過可視化界面配置並生成 API 提供給全平臺使用,省掉了繁瑣的服務開發及部署環節,五分鐘即可完成 API 定製開發。
使用 API 網關,還可以讓運行在知曉雲上的應用數據得以更加靈活地提供給外部系統集成,無需再通過知曉雲的 OpenAPI 進行數據轉接,使得業務推進速度躍升一個等級。
API 網關的使用場景
1.接收外部系統回調
API 網關會將外部系統的回調內容傳遞至後端服務(雲函數),處理完成後,還可以返回符合外部系統要求的內容。
2.定製 API 接口,自定義返回內容
直接使用知曉數據表相關的 API 時 ,無法對其返回內容進行自定義,更加無法應對涉及多表數據合成爲一個對象返回的場景。
使用 API 網關即可在雲函數中組裝好內容,通過其自定義返回內容的能力,將符合業務的數據格式返回到客戶端。
API 網關的執行流程
客戶端對 API 發起請求後,由網關進行有效性及路由匹配,將請求轉發到後端服務進行業務處理,再把後端服務的內容通過 API 網關返回客戶端。
PS:目前後端服務僅支持雲函數。
需要注意:
雲函數運行方式爲同步,超時時間爲 1.5 秒。
由於雲函數需要告知 API 網關返回內容,因此雲函數必須返回以下數據結構,如不按照這結構返回,API 網關將會響應錯誤:
{
"status_code": 200,
"content-type": "text/plain",
"content": "hello, world!"
}
- status_code 爲響應請求的狀態碼。查看參考文檔
- content 爲響應內容
- content-type 爲響應內容的類型,支持:
- text/plain(純文本)
- text/html(HTML)
- application/json(JSON)
- application/xml(XML)
API 網關的費用
API 網關面向所有版本的用戶開放,沒有應用版本的限制。僅需對請求數與雲函數執行進行付費,API 網關的 API 管理、認證服務、流量控制等所有組件不收取任何費用。
每個對 API 網關的 API 請求會消耗應用一次的 APICall 額度,API 請求對應雲函數的執行費用按照已有的雲函數計費規則進行收取。
API 網關的特性
API 管理
提供 API 的創建/修改/刪除, 除了對 API 進行路徑,支持方法的設置外,還可以根據業務場景對 query string / HTTP headers 進行參數規範配置,支持 API 調試。
API 發佈
預設「正式環境」/ 「測試環境」,讓開發測試與生產服務相互隔離。
API 安全
無論內置域名或自定義域名均提供 SSL 證書,保證 API 的通訊安全,支持選用 JWT 認證服務,避免 API 被惡意使用。
API 流量控制
支持對 API 進行流量控制,精準控制使用情況,保證資源合理使用。
API 監控及調用日誌
多維度的監控指標,全面瞭解 API 的使用情況,保留POST
/PUT
/ DELETE 等方法的請求日誌,給 API 審計提供強力支持。
API 網關的使用
進入「知曉雲控制檯」,選擇「引擎」即可開啓使用。
創建 API 網關
選擇「API 網關」tab,即可進入管理面板。
增加路由,綁定雲函數
完成 API 網關創建後,在「API 管理」添加 API。
API 可以根據需求進行認證服務,請求參數等的前端配置,按需選擇。
完成前端配置後,再進行後端雲函數的配置,給正式/測試環境配置相對應的雲函數。
點擊「新增雲函數」會在新開的標籤頁中實現雲函數的創建,完成後,點擊刷新按鈕即可選擇。
編寫雲函數
編寫成後,回到原有標籤,進行關聯操作。
發佈 API 網關
驗證 API 網關
查看《API 網關使用指南》,立即使用 API Gateway。
關於知曉雲 API Gateway 的介紹就講到這裏啦,如果你有其他疑問或需求,可通過文末評論或客服微信(微信號:minsupport3)告訴我們,我們將一一爲你解答。
推薦閱讀