《AWS Lambda实战 开发事件驱动的无服务器应用程序》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(意)达尼洛·波恰著;喻勇,刘智毅,王毅译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111579946
  • 页数:309 页
图书介绍:本书以实例为驱动,教会读者如何使用事件驱动的方法来开发后端应用程序。从 AWS Lambda 的基础介绍开始,逐渐深入地讲解了从 Web 或移动端调用 Lambda 函数的常见例子和模式。本书的第二部分把这些简单的例子组合在一起,构成了一个更大的应用。最后,读者将学会如何在 AWS 平台上构建应用程序,满足高可用性、高安全性、高性能和高扩展性的要求。

第一部分 快速入门 2

第1章 在云中运行函数 2

1.1 AWS Lambda简介 5

1.2 以函数作为应用程序的后端 10

1.3 应对一切的单一后端 11

1.4 事件驱动的应用程序 13

1.5 从客户端调用函数 17

总结 20

第2章 属于你的第一个Lambda函数 21

2.1 创建一个新的函数 21

2.2 编写函数 24

2.3 其他设置 26

2.4 测试函数 28

2.5 从LambdaAPI调用函数 30

总结 32

练习 32

第3章 把函数作为Web API 34

3.1 Amazon API Gateway简介 34

3.2 创建API 36

3.3 创建集成 38

3.4 测试集成 40

3.5 改变响应信息 41

3.6 把资源路径作为参数 46

3.7 使用API Gateway的上下文对象 49

总结 52

练习 52

第二部分 构建事件驱动的应用程序 56

第4章 管理安全 56

4.1 用户、组和角色 57

4.2 理解策略 60

4.3 实践策略 63

4.4 使用策略变量 68

4.5 赋予角色 70

总结 72

练习 72

第5章 使用独立的函数 74

5.1 在函数中打包库和模块 74

5.2 让函数订阅事件 76

5.2.1 创建后端资源 77

5.2.2 把函数打包 78

5.2.3 配置权限 82

5.2.4 创建函数 84

5.2.5 测试函数 86

5.3 在函数中使用二进制库 88

5.3.1 准备环境 88

5.3.2 实现函数 89

5.3.3 测试函数 93

5.4 调度函数的执行 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章 从客户端调用函数 113

7.1 用JavaScript调用函数 113

7.1.1 创建ID池 114

7.1.2 为Lambda函数开放权限 117

7.1.3 创建Web页面 119

7.2 从移动应用中调用函数 123

7.3 从浏览器调用函数 127

总结 131

练习 131

第8章 设计基于Lambda的认证服务 134

8.1 交互模式 135

8.2 事件驱动架构 137

8.3 使用Amazon Cognito服务 141

8.4 保存用户配置文件 142

8.5 向用户配置文件添加更多数据 143

8.6 加密密码 143

总结 144

练习 144

第9章 实现基于Lambda的认证服务 146

9.1 管理集中式配置 147

9.2 对初始化和部署实现自动化 149

9.3 共享代码 150

9.4 创建应用的首页 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 事件驱动架构 195

11.1.1 简化实现 196

11.1.2 合并函数 199

11.1.3 改进事件驱动架构 201

11.2 在Amazon S3中定义对象的命名空间 202

11.3 为Amazon DynamoDB设计数据模型 204

11.4 客户端应用 205

11.5 响应内容更新 216

11.6 更新内容索引 220

总结 223

练习 225

第12章 为什么选择事件驱动 226

12.1 事件驱动架构总览 227

12.2 从前端起步 228

12.3 关于后端 229

12.4 响应式编程 232

12.5 通向微服务之路 235

12.6 平台的扩展性 237

12.7 可用性和适应性 238

12.8 预估费用 239

总结 241

练习 242

第三部分 从开发环境到生产部署 244

第13章 改进开发和测试 244

13.1 本地开发 244

13.1.1 用Node.js做本地开发 245

13.1.2 用Python做本地开发 246

13.1.3 社区工具 247

13.2 日志与调试 247

13.3 使用函数版本 249

13.4 使用别名来管理不同环境 250

13.5 开发工具和框架 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 事件驱动的无服务器持续部署 266

14.3 用AWS CloudFormation部署 268

14.4 多区域部署 274

总结 276

练习 276

第15章 自动化的基础设施管理 279

15.1 对告警做出响应 279

15.2 对事件做出响应 282

15.3 近实时处理日志 282

15.4 设定循环的活动 283

15.5 跨区域的架构和数据同步 284

总结 287

练习 287

第四部分 使用外部服务 290

第16章 调用外部服务 290

16.1 管理密码和安全凭证 290

16.2 使用IFTTT Maker通道 294

16.3 向Slack团队发送消息 296

16.4 自动管理GitHub代码库 298

总结 299

练习 299

第17章 从其他服务获取事件 301

17.1 谁在调用 301

17.2 Webhook模式 302

17.3 处理来自Slack的事件 304

17.4 处理来自GitHub的事件 305

17.5 处理来自Twilio的事件 306

17.6 使用MongoDB作为触发器 306

17.7 日志监控的模式 307

总结 308

练习 308