通过 Lambda 运行代码
编写 Lambda 函数时,您创建的代码将在独特的无服务器环境中运行。了解 Lambda 实际如何运行您的代码涉及两个关键方面:定义您的代码如何与 Lambda 交互的编程模型,以及确定 Lambda 如何管理您的代码的运行时环境的执行环境生命周期。
Lambda 编程模型
编程模型充当 Lambda 如何与您的代码协同工作的一组通用规则,无论您使用 Python、Java 还是任何其他受支持的语言编写。编程模型包括运行时和处理程序。
对于标准函数:
-
Lambda 接收事件。
-
Lambda 使用运行时以您的代码可使用的格式准备事件。
-
运行时将格式化的事件发送到处理程序。
-
处理程序使用您编写的代码来处理事件。
此模型的核心是处理程序,Lambda 将事件发送到处理程序,供您的代码处理。可以将其视为代码的入口点。当 Lambda 收到事件时,它会将此事件及其一些上下文信息传递给处理程序。然后,处理程序会运行代码来处理这些事件,例如,它可能会读取上传到 Amazon S3 的文件、分析图像或更新数据库。当代码完成对一个事件的处理后,处理程序便可以处理下一个事件。
Lambda 执行模型
虽然编程模型定义了 Lambda 如何与您的代码交互,但执行环境才是 Lambda 实际运行函数的地方,它是一个专为您的函数创建的安全、隔离的计算空间。
每个环境都有一个生命周期:
-
初始化:环境设置和代码加载
-
调用:单次执行函数代码
-
关闭:环境清理
此环境负责处理运行函数的重要方面。它为您的函数提供内存和 /tmp 目录用于临时存储。