可触发 Lambda 函数的 CloudFront 事件
对于 CloudFront 分配中的每个缓存行为,您最多可以添加 4 个触发器(关联),以便在发生特定 CloudFront 事件时导致执行 Lambda 函数。CloudFront 触发器可以基于 4 个 CloudFront 事件之一,如下图所示。
可用于触发 Lambda@Edge 函数的 CloudFront 事件如下所示:
- 查看器请求
-
当 CloudFront 收到查看器的请求但还未检查请求的对象是否在边缘缓存中时,该函数会执行。
- 源请求
-
只有 在 CloudFront 将请求转发到源时,才会执行该函数。当请求的对象在边缘缓存中时,该函数不会执行。
- 源响应
-
在 CloudFront 收到来自源的响应之后及它将对象缓存在响应中之前,该函数会执行。请注意,即使从源返回了错误,该函数仍会执行。
在以下情况下该函数不会执行:
-
当请求的文件在边缘缓存中时
-
当从由源请求事件触发的函数中生成响应时
-
- 查看器响应
-
在将请求的文件返回到查看器之前,该函数会执行。请注意,无论文件是否已在边缘缓存中,该函数都会执行。
在以下情况下该函数不会执行:
-
当源返回 400 或更高的 HTTP 状态代码时
-
当返回自定义错误页面时
-
AWS 基于轮询的服务的事件源映射
AWS Lambda 支持以下基于轮询的服务。
Lambda 从其读取事件的服务
配置事件源映射后,AWS Lambda 将轮询事件源并调用您的 Lambda 函数。事件源映射在 AWS Lambda 中维护。AWS Lambda 提供 API 来创建和管理事件源映射。
-
-
当从由查看器请求事件触发的函数中生成响应时
-
在 CloudFront 将 HTTP 请求自动重定向到 HTTPS 时(在 查看器协议策略 的值为将 HTTP 重定向到 HTTPS 时)
-
-