[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.

相关文章
相关标签/搜索