

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

# 何時使用 Lambda 的僅限作業系統執行時期
<a name="runtimes-provided"></a>

Lambda 為 Java、Python、Node.js、.NET 和 Ruby 提供[受管理執行期](lambda-runtimes.md)。若要使用未提供受管理執行期的程式設計語言建立 Lambda 函數，請使用僅限作業系統的執行期 (`provided` 執行期系列)。僅限作業系統的執行期有三種主要的使用案例：
+ **原生ahead-of-time (AOT) 編譯**：Go、Rust、Swift 和 C\$1\$1 等語言會以原生方式編譯至可執行的二進位檔，不需要專用語言執行時間。這些語言僅需要可在其中執行編譯二進位檔的作業系統環境。您也可以使用僅限 Lambda 作業系統的執行時間來部署以 .NET Native AOT 和 Java GraalVM Native Image 編譯的二進位檔。

  您必須在二進位中包含執行期介面用戶端。執行期介面用戶端會呼叫 [針對自訂執行時期使用 Lambda 執行時期 API](runtimes-api.md) 來擷取函數調用，然後呼叫您的函數處理常式。Lambda 為 [Rust](lambda-rust.md)、[Go](golang-package.md#golang-package-mac-linux)、[.NET Native AOT](dotnet-native-aot.md)、[Swift](https://github.com/awslabs/swift-aws-lambda-runtime) （實驗性） 和 [C\$1\$1](https://github.com/awslabs/aws-lambda-cpp) （實驗性） 提供執行期介面用戶端。

  您必須將二進位檔編譯為適用於 Linux 環境，以及您計劃用於函數的同一指令集架構 (x86\$164 或 arm64)。
+ **第三方執行時間**：您可以使用off-the-shelf執行時間執行 Lambda 函數，例如適用於 PHP 的 [Bref](https://bref.sh/docs/news/01-bref-1.0.html#amazon-linux-2)。
+ **自訂執行期**：您可以為 Lambda 不提供受管理執行期的語言或語言版本建置自己的執行期，例如 Node.js 19。如需詳細資訊，請參閱[建置 的自訂執行時間 AWS Lambda](runtimes-custom.md)。這是僅限作業系統的執行期最不常見的使用案例。

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](https://aws.amazon.com/blogs/compute/introducing-the-amazon-linux-2023-runtime-for-aws-lambda/)。