Amazon API Gateway 是一種全受管的服務,可讓開發人員輕鬆發佈、維護、監控和保護任何規模的 API. 它的角色有點像是我們一般的網頁程式中, 拿掉後段那些商業邏輯、查詢資料庫、字串處理所剩下的部份. 像是規劃 API網址格式、接傳參數處理, 存取控制這類的任務.

Serverless 架構的概念最近漸漸興起, 由於管理基礎建設始終就是需要心力去照顧的工作, 所以無伺服器架構這種新概念, 不用再管理Server, EC2也不開了, 那或許能再解放一些生產力出來, 讓大家的注意力更集中在有價值的地方.

--

初探 API Gateway

最近在玩 API Gateway 與後端串接 Lambda 吃了一些苦頭, 由於網路上能找到的文件資源大多以 NodeJS居多, 使用 Python 的就比較辛苦些.

以下推薦兩個連結, 能協助使用這樣組合的人迅速通過新手村的考驗:

股價查詢API

這個練習題的組成如下:

  • downloader: 交易所的每日收盤價
  • parser: 將資料處裡, 轉成精簡的 csv ,放在 S3
  • api gateway: 新建一個api, 網址 https://yourdomain.com/t/qureyprice/{id} , 設定參數轉換,並且指定後方的 lambda function 來處理後面的事.
  • lambda function: 收到 api gateway傳來的參數後, 把需要的股價資料 JSON 回傳.
  • 前端查詢頁面: 用 jQuery.getJSON() 寫的查詢頁面.

定價

  • API 呼叫: 每百萬次 3.5 ~4.25 USD
  • 頻寬傳輸: 跟以往的Data Transfer定價一樣, 網內不收費,網外收費.

大概相當於每10000次呼叫就要1~1.3塊台幣. 比起 AWS Lambda 每百萬次 0.2 USD,相差20倍左右. 感覺API Gateway 並不便宜. 我覺得開發速度的確會更快一些, 用途上,使用量較低的服務可能比較適合,例如上傳大頭照存到S3 這類的用途.

參考資料