黑夜流星 2020-06-28
架构:
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVUhsoawlUECv4oEtq2c1Z-A.png)
1.创建两个S3 的存储桶
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIV6qUd8ONKlIwqUKKytBOWZA.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVOlRkAzFGVFKaylwlg1kclw.png)
将图片上传到images-120080212
2.创建一个Lambda函数
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVX7S1VexHakLo3hS-TbrdWg.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVtpxX9ViZkVbgGf8FUKGUgQ.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVeqy3xy1hwxaQzMED1XzMbg.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVjHxm0gnZ61y5525Uhhn3iw.png)
想要Lambda代码直接@我留言吧,大概9MiB。用Python写的。把代码直接放到λ函数里再跟进下面的操作就可以直接RUN了。
最终执行的py脚本为:CreateThumbnail.py
所以处理程序为:CreateThumbnail.handler
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVVlUxc6HOGFesEIiPTqVWfw.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIV2uzurB8-li0Q5Vm2A0p7iQ.png)
测试函数,选择测试。
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVY09HwSE_8-keMMqHO1JkUg.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVXZ6TuoaqvkHrSq8t-ZON0g.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVpEAYNb9RuLgF9Ll8UPsVXw.png)
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVfK2P_BOKJXUXZ-Q33eJl4Q.png)
回到S3的resized的bucket上:
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIVlT7IPGPIA8E8BiUvk8WtLA.png)
监控我的应用程序:
![[AWS][Serverless] 无服务器Serverless 图像缩略图应用 [AWS][Serverless] 无服务器Serverless 图像缩略图应用](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDGZ7fiO-5yAfXlnulRBpIV9B7Acaaxiw3sCZ7SizGpRg.png)
统计单位 是 个数和时长
Invocations:被调用了多少次
Duration:函数执行时长(ms)
Error:函数执行失败了多少次
Throlttes:并行超过限制将不再执行的函数个数,默认是1000并行。
IteratorAge:迭代时长,测量从流触发器处理的最后一个记录的时长。
也就是这个函数处理最后一个数据流所用的时长(Kinesis Stream or DDB Stream)
DeadLetterErrors:发生失败时发送死信队列所用时长。
嗯。就先写这些吧。Serverless应用在云计算中已经越来越普及了。以后的应用架构中,随着容器编排和Serverless技术的扩展,应用逐渐解耦为函数级别,在一些特定场景中Serverless能够快速、低成本的完成高并发任务。