使用LAMBDA边(相的Cloudfront触发)调整我刚刚做了这对飞

使用LAMBDA边(相的Cloudfront触发)调整我刚刚做了这对飞

问题描述:

图像,使得存储在S3上的图像上要求调整大小和它的工作原理是魅力:https://aws.amazon.com/tw/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/使用LAMBDA边(相的Cloudfront触发)调整我刚刚做了这对飞

而且我刚开始读Lambda Edge的文章:http://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html

但我仍然不确定我应该如何处理事件:查看器请求,原始请求,原始响应和查看器响应。

与网关触发我用现在的lambda函数是https://github.com/awslabs/serverless-image-resizing

LAMBDA @ Edge是不是调整图像大小相当契合,在这一点上。它旨在用于更轻量级的任务,如标题操作和基于文本的小型响应生成。

在Lambda @ Edge中,部署zip文件被限制为1 MiB,容器内存限制为128 MiB,运行时限制在观看者一侧1秒和原始端3秒,尽管可用的CPU容量没有明确公布,它是现代2.3-2.4 GHz Xeon核心容量的一小部分。亚毫秒头重写足够了,但不能调整图像大小。

现在Lambda @ Edge有能力检查查询字符串,可以想象,您可以使用它而不是API网关来调用第二个实际执行大小调整的Lambda函数(从Lambda调用Lambda),然后转换从API网关格式到CloudFront格式的响应,因此每次调用的成本可能会更低(因为Lambda @ Edge请求的成本低于API网关请求的成本)......但它不直接替代API Gateway + Lambda正在建立的例子中。您可以使用原始请求触发器来执行此操作。

Lambda @ Edge也无法返回生成的二进制内容(仅限UTF-8字符内容),尽管这与实施的调整大小示例没有直接关系,因为重定向用于将浏览器发送到新的目标对象。

这非常有用,但不完全等同于API Gateway + Lambda。

截至2017年12月,AWS Lambda Limits的内存分配最大为3008 MB,每个请求的最大执行持续时间为300秒。实际上,Step 2.1: Create a Deployment Package甚至使用图像大小调整的示例。

AWS [email protected]对包括图表在内的事件有最好的描述。我想你想使用Origin Request事件,所以你的响应可以被缓存。另请参阅AWS re:invent 2017: Building Serverless Websites with [email protected] (CTD309) - YouTube以获取完整说明。