AWS lambda 和 AWS Lambda@EDGE 有什么区别?

What is the difference between AWS lambda and AWS Lambda@EDGE?

简单的 aws lambda 和 aws lambda@edge 有什么区别?

  • Lambda@Edge 是响应 CloudFront 事件的 Lambda 函数。
  • 您仍然在 Lambda 下创建 lambda@edge 函数,但 Lambda@Edge 函数必须在 us-east-1 中创建。
  • 您需要根据查看者请求或其他请求将 lambda@edge 配置为 cloundfront 分发行为。

Lambda 基于某些触发器执行函数。 Lambda 的用例非常广泛,并且与许多 AWS 服务高度集成。您甚至可以使用它通过 AWS 的 API 简单地执行代码,并将代码接收到与 AWS 分开的脚本中。常见用例包括简单地执行 Lambda 并接收输出、插入 API 网关以服务用户请求、在将对象放入 S3 存储桶时修改对象等。

Lambda@Edge 是一项服务,允许您执行专门修改 CloudFront 行为的 Lambda 函数。 Lambda@Edge 仅在请求周期内运行并做出影响 CloudFront 内容交付的逻辑决策。

https://aws.amazon.com/lambda/features/

https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html

  • 必须在 us-east-1 区域创建
  • 如果代码取自bucket,bucket也需要在us-east-1区域
  • 您不能像传递普通 lambda fn 那样传递环境变量。您需要在构建过程中对值进行硬编码,或者对 env 进行硬编码并从其他地方获取值。

Lambda 是一种无服务器 AWS 计算服务,允许用户运行 编写代码作为函数触发器。在文件处理、优化、大量用例中。

另一方面,Lamda@Edge 是 AWS lambda 的扩展,是云端的一项功能,允许用户 运行 代码更接近应用程序,从而提高性能并减少延迟。

这是官方文档,很好地描述了 Lambda@Edge https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html