发布于: Nov 21, 2017

从今天起,Lambda@Edge 的三种全新功能可以进一步帮助您针对查看者构建个性化内容,同时改善了延迟现象,还可简化您的原始基础设施。首先,使用基于内容选择动态源的功能,您可以根据请求属性 (例如查看者位置、查看者设备类型、HTTP 标头、URL 路径、查询字符串或 Cookie) 将请求路由到不同的后端源服务器。其次,您可以根据面向查看者的 Amazon CloudFront 事件进行远程网络调用。第三,您可以由 Lambda@Edge 函数生成二进制数据,从而使用 Amazon CloudFront 提供更丰富,定制性更强的内容。我们还提高了 Lambda@Edge 函数的限制。您可以选择高达 1536MB 的内存,部署多达 50MB 的大型数据包,且实施 Lambda@Edge 函数具有更长的超时时间 – 最长可达 30 秒。 

基于内容选择动态源:过去,使用 Lambda@Edge 您只能将请求转发至您为 CloudFront 发行版配置的预定义源。而现在,您可以利用 Amazon CloudFront 将多个后端源应用程序服务推出,并使用 Lambda@Edge 根据请求的属性将请求动态路由至适当的源。例如,您可以拥有多个基于微服务的后端源,您的 Lambda@Edge 函数可以检查请求属性 (如查询字符串、标头或 Cookie) 并动态路由至这些源。如果您运行的是地理位置分散在不同 AWS 区域的应用程序,您也可以根据数据位置将查看者路由至最优的源,从而将延迟降至最低。基于内容选择动态源还能将请求路由逻辑从您不得不进行管理的反向代理服务器的队列迁移至无服务器 Lambda@Edge 函数,从而简化您的原始基础设施。

根据面向查看者的事件进行网络调用:除了根据面向源的 CloudFront 事件进行远程网络调用,Lambda@Edge 现在还支持根据面向查看者的 CloudFront 事件进行远程网络调用。例如,您现在可以对身份验证服务器进行远程调用,从而验证用户权限级别,并根据对每名用户的授权提供高级内容或其他内容。

高级响应生成:现在,由于提供了对二进制响应 (例如图像) 的支持,以及更高的 Lambda 函数限制,您可以将更加复杂的逻辑迁移至边缘,这在原来是不可能实现的。例如,借助远程调用和二进制响应生成,现在您可以调用 Amazon Rekognition 这样的服务,从而找到图像中感兴趣的部分,并对图像进行大小调整、裁切或压缩,添加图像水印,或根据查看者的设备类型操作图像,以实现最佳的查看体验。作为内容发布者,您可以为每名查看者动态组合来自多个外部源的内容,运行计算密集型逻辑并生成定制响应。Lambda@Edge 使得这一切成为可能,查看者也不会感受到较长时间的延迟,并且无需预置或管理您自己的服务器。

使用这些新功能无需支付任何额外费用。要了解有关 Lambda@Edge 的更多信息,请参阅产品页面。有关如何使用这些功能的更多信息,请参阅以下资源:

  • 请参阅演示基于内容选择动态源的代码示例
  • 通过此篇博文了解如何使用动态源选择。
  • 如需了解有关生成 HTTP 响应的更多详情,请参阅 CloudFront 开发人员指南中的生成 HTTP 响应
  • 有关 Lambda@Edge 部署限制的更多详细信息,请参阅我们的限制页面。