何時使用 Lambda 的僅限作業系統執行時期 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

何時使用 Lambda 的僅限作業系統執行時期

Lambda 為 Java、Python、Node.js、.NET 和 Ruby 提供受管理執行期。若要使用未提供受管理執行期的程式設計語言建立 Lambda 函數,請使用僅限作業系統的執行期 (provided 執行期系列)。僅限作業系統的執行期有三種主要的使用案例:

  • 原生ahead-of-time (AOT) 編譯:Go、Rust、Swift 和 C++ 等語言會以原生方式編譯至可執行的二進位檔,不需要專用語言執行時間。這些語言僅需要可在其中執行編譯二進位檔的作業系統環境。您也可以使用僅限 Lambda 作業系統的執行時間來部署以 .NET Native AOT 和 Java GraalVM Native Image 編譯的二進位檔。

    您必須在二進位中包含執行期介面用戶端。執行期介面用戶端會呼叫 針對自訂執行時期使用 Lambda 執行時期 API 來擷取函數調用,然後呼叫您的函數處理常式。Lambda 為 RustGo.NET Native AOTSwift (實驗性) 和 C++ (實驗性) 提供執行期介面用戶端。

    您必須將二進位檔編譯為適用於 Linux 環境,以及您計劃用於函數的同一指令集架構 (x86_64 或 arm64)。

  • 第三方執行時間:您可以使用off-the-shelf執行時間執行 Lambda 函數,例如適用於 PHP 的 Bref

  • 自訂執行期:您可以為 Lambda 不提供受管理執行期的語言或語言版本建置自己的執行期,例如 Node.js 19。如需詳細資訊,請參閱建置 的自訂執行時間 AWS Lambda。這是僅限作業系統的執行期最不常見的使用案例。

Lambda 支援以下僅限作業系統的執行期:

Name 識別符 作業系統 取代日期 封鎖函數建立 封鎖函數更新

僅限作業系統的執行期

provided.al2023

Amazon Linux 2023

2029 年 6 月 30 日

2029 年 7 月 31 日

2029 年 8 月 31 日

僅限作業系統的執行期

provided.al2

Amazon Linux 2

2026 年 7 月 31 日

2026 年 8 月 31 日

2026 年 9 月 30 日

與 Amazon Linux 2 相比,Amazon Linux 2023 (provided.al2023) 執行期具有多項優點,包括更小的部署足跡和更新版本的程式庫,如 glibc

provided.al2023 執行期使用 dnf 而非 yum 做為套件管理工具,後者是 Amazon Linux 2 中的預設套件管理工具。如需 provided.al2023和 之間差異的詳細資訊provided.al2,請參閱 AWS 運算部落格上的 的 Amazon Linux 2023 執行時間簡介 AWS Lambda