天天看点

[AWS][Serverless] 无服务器Serverless 图像缩略图应用

用户的需求是我上传一张照片可以自动生成缩略图。在需要get到原图的时候再下载原图。

一般网盘或图片浏览的常规操作。通常需要再客户端植入代码或在云端处理。这里可以使用FaaS,函数即服务的方式来缩短我们开发周期,节约成本。

架构:

[AWS][Serverless] 无服务器Serverless 图像缩略图应用

1.创建两个S3 的存储桶

[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用

将图片上传到images-120080212

2.创建一个Lambda函数

[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用

想要Lambda代码直接@我留言吧,大概9MiB。用Python写的。把代码直接放到λ函数里再跟进下面的操作就可以直接RUN了。

最终执行的py脚本为:CreateThumbnail.py

所以处理程序为:CreateThumbnail.handler

[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用

测试函数,选择测试。

[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用
[AWS][Serverless] 无服务器Serverless 图像缩略图应用

回到S3的resized的bucket上:

[AWS][Serverless] 无服务器Serverless 图像缩略图应用

监控我的应用程序:

[AWS][Serverless] 无服务器Serverless 图像缩略图应用

继续阅读