我正在阅读和观看有关aws lambda、s3和CloudFront(CF)的视频。我想在这里确认一下,我了解(或不了解)aws cloudfront 和更一般的 CDN 的概念。
目标:我想通过 CF 从我的应用程序中提供图像。我打算部署 aws lambda 函数。在我描述的场景中 - 我的 lambda 函数是简单的烧瓶应用程序,可能只有一个端点。实现图像上传的 POST 端点(从文件创建校验和,检查文件校验和是否已经在 s3 中 - 保存或不保存并返回图像)。图像调整大小,仅在通过查询字符串提供其参数时运行。所有图像都将被存储(原始、调整大小、旋转等)。S3 是 CF 的起源。
部署:当我使用 python - 我想使用zappa作为部署工具。
示例问题:
8:00:用户正在从澳大利亚上传图片。图像之前不存在,因此将其保存到 S3 并返回。
9:00同一用户要求提供图像的缩略图。图像被调整大小并返回。在这里,我假设图像调整大小的请求(例如https://app.org/resize/image1.jpeg?width=80&height=80)与响应(image.jpg 80x80)一起保存在云端的澳大利亚边缘节点上。
10:00用户请求具有相同查询字符串的相同缩略图 - 他从澳大利亚云端边缘缓存获取 image.jpg 80x80。
我做对了吗?