何时使用 Lambda 仅限操作系统的运行时 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

何时使用 Lambda 仅限操作系统的运行时

Lambda 为 Java、Python、Node.js、.NET 和 Ruby 提供托管运行时系统。要使用无法作为托管运行时系统使用的编程语言创建 Lambda 函数,请使用仅限操作系统的运行时系统(provided 运行时系统系列)。仅限操作系统的运行时系统有三种主要用例:

  • 本机提前(AOT)编译:Go、Rust 和 C++ 等语言本机编译为可执行的二进制文件,不需要专用语言运行时系统。这些语言只需要一个可以运行编译后二进制文件的操作系统环境。您还可以使用 Lambda 的仅限操作系统的运行时系统来部署使用.NET 本机 AOT 和 Java GraalVM 本机编译的二进制文件。

    您必须在二进制文件中包含运行时系统接口客户端。运行时系统接口客户端调用 Lambda 运行时 API 来检索函数调用,然后调用您的函数处理程序。Lambda 为 Go.NET 本机 AOTC++Rust(实验)提供了运行时系统接口客户端。

    您的二进制文件必须在 Linux 环境下编译,且与您计划用于函数的指令集架构(x86_64 或 arm64)相同。

  • 第三方运行时系统:您可以使用现成的运行时来运行 Lambda 函数,例如适用于 PHP 的 Bref 或适用于 Swift 的 SwiftAmazon Lambda 运行时系统

  • 自定义运行时系统:您可以为 Lambda 未提供托管运行时系统的语言或语言版本(例如 Node.js 19)构建自己的运行时系统。有关更多信息,请参阅 构建 Amazon Lambda 的自定义运行时系统。对于仅限操作系统的运行时系统,该用例最不常见。

Lambda 支持以下仅限操作系统的运行时系统:

仅限操作系统
名称 标识符 操作系统 弃用日期 阻止函数创建 阻止函数更新

仅限操作系统的运行时系统

provided.al2023

Amazon Linux 2023

仅限操作系统的运行时系统

provided.al2

Amazon Linux 2

与 Amazon Linux 2 相比,Amazon Linux 2023 (provided.al2023) 运行时系统具有多项优势,包括较小的部署占用空间和 glibc 等更新版本的库。

provided.al2023 运行时系统使用 dnf 而不是 yum 作为程序包管理器,后者是 Amazon Linux 2 中的默认程序包管理器。有关 provided.al2023provided.al2 之间区别的更多信息,请参阅 Amazon 计算博客上的 Amazon Lambda 的 Amazon Linux 2023 运行时系统简介