AWS Lambda實戰(zhàn):開發(fā)事件驅(qū)動的無服務器應用程序
定 價:79 元
叢書名:云計算與虛擬化技術叢書
- 作者:[意]達尼洛·波。―anilo Poccia)
- 出版時間:2017/9/21
- ISBN:9787111579946
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP393.027
- 頁碼:309
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書以實例為驅(qū)動,教會讀者如何使用事件驅(qū)動的方法來開發(fā)后端應用程序。從AWSLambda的基礎介紹開始,逐漸深入地講解了從Web或移動端調(diào)用Lambda函數(shù)的常見例子和模式。本書的第二部分把這些簡單的例子組合在一起,構成了一個更大的應用。后,讀者將學會如何在AWS平臺上構建應用程序,滿足高可用性、高安全性、高性能和高擴展性的要求。
Contents 目 錄
贊譽
中文版序
推薦序
譯者序
前言
關于原書封面插圖
第一部分 快速入門
第1章 在云中運行函數(shù)2
1.1 AWS Lambda簡介5
1.2 以函數(shù)作為應用程序的后端10
1.3 應對一切的單一后端11
1.4 事件驅(qū)動的應用程序13
1.5 從客戶端調(diào)用函數(shù)17
總結20
第2章 屬于你的第一個Lambda函數(shù)21
2.1 創(chuàng)建一個新的函數(shù)21
2.2 編寫函數(shù)24
2.3 其他設置26
2.4 測試函數(shù)28
2.5 從Lambda API調(diào)用函數(shù)30
總結32
練習32
第3章 把函數(shù)作為Web API34
3.1 Amazon API Gateway簡介34
3.2 創(chuàng)建API36
3.3 創(chuàng)建集成38
3.4 測試集成40
3.5 改變響應信息41
3.6 把資源路徑作為參數(shù)46
3.7 使用API Gateway的上下文對象49
總結52
練習52
第二部分 構建事件驅(qū)動的應用程序
第4章 管理安全56
4.1 用戶、組和角色57
4.2 理解策略60
4.3 實踐策略63
4.4 使用策略變量68
4.5 賦予角色70
總結72
練習72
第5章 使用獨立的函數(shù)74
5.1 在函數(shù)中打包庫和模塊74
5.2 讓函數(shù)訂閱事件76
5.2.1 創(chuàng)建后端資源77
5.2.2 把函數(shù)打包78
5.2.3 配置權限82
5.2.4 創(chuàng)建函數(shù)84
5.2.5 測試函數(shù)86
5.3 在函數(shù)中使用二進制庫88
5.3.1 準備環(huán)境88
5.3.2 實現(xiàn)函數(shù)89
5.3.3 測試函數(shù)93
5.4 調(diào)度函數(shù)的執(zhí)行94
總結98
練習98
第6章 用戶身份管理100
6.1 Amazon Cognito身份管理服務概述100
6.2 外部身份提供方103
6.3 集成自定義身份認證104
6.4 處理認證和非認證用戶105
6.5 使用Amazon Cognito的策略變量106
總結110
練習110
第7章 從客戶端調(diào)用函數(shù)113
7.1 用JavaScript調(diào)用函數(shù)113
7.1.1 創(chuàng)建ID池114
7.1.2 為Lambda函數(shù)開放權限117
7.1.3 創(chuàng)建Web頁面119
7.2 從移動應用中調(diào)用函數(shù)123
7.3 從瀏覽器調(diào)用函數(shù)127
總結131
練習131
第8章 設計基于Lambda的認證服務134
8.1 交互模式135
8.2 事件驅(qū)動架構137
8.3 使用Amazon Cognito服務141
8.4 保存用戶配置文件142
8.5 向用戶配置文件添加更多數(shù)據(jù)143
8.6 加密密碼143
總結144
練習144
第9章 實現(xiàn)基于Lambda的認證服務146
9.1 管理集中式配置147
9.2 對初始化和部署實現(xiàn)自動化149
9.3 共享代碼150
9.4 創(chuàng)建應用的首頁151
9.5 注冊新用戶152
9.6 驗證用戶郵件158
總結163
練習163
第10章 為認證服務添加更多功能168
10.1 處理密碼遺忘168
10.2 處理密碼重置175
10.3 處理用戶登錄180
10.4 為認證用戶獲取AWS令牌184
10.5 處理密碼修改186
總結192
練習192
第11章 構建一個媒體共享應用195
11.1 事件驅(qū)動架構195
11.1.1 簡化實現(xiàn)196
11.1.2 合并函數(shù)199
11.1.3 改進事件驅(qū)動架構201
11.2 在Amazon S3中定義對象的命名空間202
11.3 為Amazon DynamoDB設計數(shù)據(jù)模型204
11.4 客戶端應用205
11.5 響應內(nèi)容更新216
11.6 更新內(nèi)容索引220
總結223
練習225
第12章 為什么選擇事件驅(qū)動226
12.1 事件驅(qū)動架構總覽227
12.2 從前端起步228
12.3 關于后端229
12.4 響應式編程232
12.5 通向微服務之路235
12.6 平臺的擴展性237
12.7 可用性和適應性238
12.8 預估費用239
總結241
練習242
第三部分 從開發(fā)環(huán)境到生產(chǎn)部署
第13章 改進開發(fā)和測試244
13.1 本地開發(fā)244
13.1.1 用Node.js做本地開發(fā)245
13.1.2 用Python做本地開發(fā)246
13.1.3 社區(qū)工具247
13.2 日志與調(diào)試247
13.3 使用函數(shù)版本249
13.4 使用別名來管理不同環(huán)境250
13.5 開發(fā)工具和框架251
13.5.1 Chalice Python微框架252
13.5.2 Apex無服務器架構254
13.5.3 Serverless框架256
13.6 簡單的無服務器測試258
總結260
練習260
第14章 自動化部署263
14.1 在Amazon S3上存儲代碼263
14.2 事件驅(qū)動的無服務器持續(xù)部署266
14.3 用AWS CloudFormation部署268
14.4 多區(qū)域部署274
總結276
練習276
第15章 自動化的基礎設施管理279
15.1 對告警做出響應279
15.2 對事件做出響應282
15.3 近實時處理日志282
15.4 設定循環(huán)的活動283
15.5 跨區(qū)域的架構和數(shù)據(jù)同步284
總結287
練習287
第四部分 使用外部服務
第16章 調(diào)用外部服務290
16.1 管理密碼和安全憑證290
16.2 使用IFTTT Maker通道294
16.3 向Slack團隊發(fā)送消息296
16.4 自動管理GitHub代碼庫298
總結299
練習299
第17章 從其他服務獲取事件301
17.1 誰在調(diào)用301
17.2 Webhook模式302
17.3 處理來自Slack的事件304
17.4 處理來自GitHub的事件305
17.5 處理來自Twilio的事件306
17.6 使用MongoDB作為觸發(fā)器306
17.7 日志監(jiān)控的模式307
總結308
練習308