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