[AWS] Serverless & Lambda

由於Lambda 因此Serverless

進化過程

課程章節:https://edu.51cto.com//center/course/lesson/index?id=199646數據庫

 

做用和優點

event --> 膠水 --> server安全

  • 無需維護
  • 自然高可用
  • 自動擴展
  • 按調用付費
  • 安全可靠

 

 

撰寫一個Lambda函數

觸發的事件

 

實驗設計

客戶按下IoT button觸發lamdba函數,Send SMS 給員工。併發

 

 

DynamoDB 管理數據

相較於「關係型數據庫」的優點:less

  • 不須要多表查詢
  • 適合高頻詞高併發訪問
  • 能夠無限提升表的讀寫能力

建立第一個表

記錄"顧客請求"的表。函數

 

建立第二個表

記錄Button對應的區域信息、員工信息。高併發

給表添加一個「項目」,也就是具體內容。測試

 

Lambda 訪問 DynamoDB Table

當前,須要給Lambda 加上權限去訪問 DynamoDB 表。spa

(1) 查看當前已有的權限。設計

第一步,AWS Lambda --> 函數 --> 配置 --> 基本信息 --> 現有角色3d

 

第二步,IAM服務 --> 角色

 

(2) 新增「策略」

第一步,IAM頁面中,策略 --> 建立策略 --> 策略生成器,添加上「資源名稱ARN of 兩個表」,兩個ARN用「逗號」隔開。

 

第二步,策略生成結果。可見 Resource 中多了兩條。"策略名稱」能夠自定義。

 

(3) 策略與角色相關聯

第一步,在「角色」中找到對應的Lambda函數。

 

第二步,附加上新建立的策略。找到策略了名稱,再點擊「附加策略」便可。

 

第三步,最後在IAM的角色頁面中多了對應的新的一條策略。

 

(4) 代碼添加

第一步,使用put方法處理接收到的request。先定義參數request_params,再寫docClient.put 函數。

 

第二步,測試程序,模擬button摁下後的觸發事件。

 

第三步,查看DynamoDB結果,發現多了一條。

 

客戶案例

Finra 交易合規性檢查

每小時峯值可達750億次。

S3自動出發lambda函數

經過SQS做爲緩衝區。

 

Coca-Cola自助販賣機

支付請求 --> API Gateway --> Lambda --> 發送支付通知給客戶

每個月8000萬次調用 與 EC2實例基本持平。

 

HomeAdvisor家裝服務

 AWS IoT 服務 --> Lambda --> HomeAdvisor API --> customer

 

用 Python 寫 Lambda 函數

Ref:嘗試 AWS Lambda for Python

比較老的博文,目前的使用方式能夠另起一篇。

 

End.

相關文章
相關標籤/搜索