使用 aws lambda 开发无服务器程序

1,680 阅读2分钟

使用 aws lambda, 只需按照它的格式编写代码, 然后发布到 aws, 就能运行, 无需服务器, 完全由亚马逊托管. 而且按运行次数收费, 而且超级便宜. 那样, 就不用预先购买 EC2了. Lambda 会处理运行和扩展高可用性代码所需的一切工作。 可以将代码设置为从 S3, Kinesis 触发,或者直接从任何 Web 或移动应用程序调用。

其实, 这就是 serverless 的概念

以下, 用例子说明如何开发 lambda 程序

创建函数


1, 登陆到管理后台 https://console.aws.amazon.com/lambda/home?region=us-east-1#/functions

2, 简单的方式从选择蓝图开始创作, 选择一个模版例子, 在搜索栏输入"S3", 选择 s3-get-object-python, 这个模版的功能是, 当S3上传了文件, 触发 lambda 程序

3, 依次填入, 名称, 角色名

4, 选择要监听的 S3 桶

5, 最后创建成功, 如下图

6, 编辑代码, lambda 提供了3种方式编辑代码. 代码比较简单的时候, 可以直接用它的在线编辑器编辑. 当项目比较大, 需要依赖很多第三方包, 那就要用上传压缩包的方式

7, S3 的触发的开关, 当我们的程序都 ready 了, 把这个开关打开. 然后记得点击右上角的保存按钮

运行函数


1, 到 S3 上传一个名为 lambda-test.txt 的文件

2, 回到 lambda 后台, 点击监控, 打开监控页面. 可以看到 lambda 函数被调用了一次, 运行时间大概是200毫秒. 随便点击一个 "跳转到日志" 可以到下一页看具体的日志

WX20180527-131143.png

3, 选择最近5分钟的日志, 可以看到 "CONTENT TYPE" 的这一行输出, 就是 python 代码里面的那句 print 语句输出的内容

结语

一个简单的 lambda 程序就这样完成了, 当然更多更多的功能还需要深入学习了解, 才能发挥 lambda 最大的作用