Lambda 執行時間 - AWS Lambda

Lambda 執行時間

Lambda 透過使用執行時間支援多種語言。針對定義為容器映像的函數,您可以在建立容器映像時選擇執行時間和 Linux 發行版。若要變更執行時間,請建立新的容器映像。

若要為部署套件使用 .zip 封存檔,您可以在建立函數時選擇執行時間。若要變更或升級執行時間,您可以更新函數的組態。執行時間與其中一個 Amazon Linux 發行版配對。基礎執行環境會提供其他程式庫以及環境變數,讓您可以從函數程式碼中存取。

Amazon Linux

Amazon Linux 2

  • 映像 - 自訂

  • Linux 核心 – 4.14

Lambda 在執行環境中叫用您的函數。執行環境提供安全且隔離的執行時間環境,它會管理執行您的函數所需的資源。Lambda 會從之前的叫用 (若有) 中重新使用執行環境,或者它會建立一個新的執行環境。

執行時間可支援單一版本的語言、多個版本的語言或多種語言。版本生命週期結束時,語言或架構版本的特定執行時間已棄用

Node.js 執行時間
名稱 識別符 適用於 JavaScript 的開發套件 作業系統 架構

Node.js 16

nodejs16.x

2.1055.0

Amazon Linux 2

x86_64,arm64

Node.js 14

nodejs14.x

2.1055.0

Amazon Linux 2

x86_64,arm64

Node.js 12

nodejs12.x

2.1055.0

Amazon Linux 2

x86_64,arm64

注意

如需有關 Node.js 12 終止支援的資訊,請參閱執行時間淘汰政策

Python 執行時間
名稱 識別符 適用於 Python 的 AWS 軟體開發套件 作業系統 架構

Python 3.9

python3.9

boto3-1.20.32 botocore-1.23.32

Amazon Linux 2

x86_64,arm64

Python 3.8

python3.8

boto3-1.20.32 botocore-1.23.32

Amazon Linux 2

x86_64,arm64

Python 3.7

python3.7

boto3-1.20.32 botocore-1.23.32

Amazon Linux

x86_64

Ruby 執行時間
名稱 識別符 適用於 Ruby 的 SDK 作業系統 架構

Ruby 2.7

ruby2.7

3.0.1

Amazon Linux 2

x86_64,arm64

注意

如需有關 Ruby 2.5 終止支援的資訊,請參閱執行時間淘汰政策

Java 執行時間
名稱 識別符 JDK 作業系統 架構

Java 11

java11

amazon-corretto-11

Amazon Linux 2

x86_64,arm64

Java 8

java8.al2

amazon-corretto-8

Amazon Linux 2

x86_64,arm64

Java 8

java8

amazon-corretto-8

Amazon Linux

x86_64

Go 執行時間
名稱 識別符 作業系統 架構

Go 1.x

go1.x

Amazon Linux

x86_64

注意

使用 Amazon Linux 作業系統 (例如 Go 1.x) 的執行時間不支援 arm64 架構。若要使用 arm64 架構,您可以搭配提供的 .al2 執行時間執行 Go。

.NET 執行時間
名稱 識別符 作業系統 架構

.NET 6

dotnet6

Amazon Linux 2

x86_64,arm64

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

x86_64,arm64

注意

如需有關 .NET Core 3.1 終止支援的資訊,請參閱執行時間淘汰政策

若要在 Lambda 中使用其他語言,您可以實作自訂執行時間。Lambda 執行環境提供了執行時間介面,用於取得叫用事件及傳送回應。您可以將自訂執行時間連同函式程式碼一併部署,或者使用 Layer 進行部署。

自訂執行時間
名稱 識別符 作業系統 架構

自訂執行時間

provided.al2

Amazon Linux 2

x86_64,arm64

自訂執行時間

provided

Amazon Linux

x86_64

執行時間淘汰政策

Lambda 執行時間 的 .zip 封存檔是以需要維護和安全更新的作業系統、程式設計語言和軟體程式庫組合為基礎建置。當執行時間的元件無法再使用安全性更新時,Lambda 會取代執行時間。

執行時間的棄用 (終止支援) 發生在兩個階段。

階段 1 - Lambda 不再將安全性修補程式或其他更新套用至執行時間。您無法再建立使用執行時間的函數,但您可以繼續更新現有函數。這包括更新執行時間版本,以及復原至先前的執行時間版本。請注意,使用已廢除的執行時間的函數不再符合技術支援的資格。

階段 2 - 您不能再建立或更新使用執行時間的函數。要更新函數,您需要將其遷移至支援的執行時間版本。將函數遷移至支援的執行時間版本之後,您無法將函數復原至先前的執行時間。第 2 階段會在第 1 階段開始至少 30 天後啟動。

Lambda 不會阻止使用已廢除的執行時間版本的函數的叫用。在執行時間版本終止支援之後,函數叫用會無限期地繼續。不過,AWS 強烈建議您將函數遷移至支援的執行時間版本,以便繼續接收安全性修補程式,並保持技術支援的資格。

下表中,每個階段會從指定日期的午夜 (太平洋時區) 開始。下列執行時間已到達或排定終止支援:

執行時間結束支援日期
名稱 識別符 作業系統 棄用階段 1 棄用階段 2

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

2023 年 1 月 20 日

2023 年 2 月 20 日

Node.js 12

nodejs12.x

Amazon Linux 2

2022 年 11 月 14 日

2022 年 12 月 14 日

.NET Core 2.1

dotnetcore2.1

Amazon Linux

2022 年 1 月 5 日

2022 年 4 月 13 日

Python 3.6

python3.6

Amazon Linux

2022 年 7 月 18 日

2022 年 8 月 29 日

Python 2.7

python2.7

Amazon Linux

2021 年 7 月 15 日

2022 年 5 月 30 日

Ruby 2.5

ruby2.5

Amazon Linux

2021 年 7 月 30 日

2022 年 3 月 31 日

Node.js 10.x

nodejs10.x

Amazon Linux 2

2021 年 7 月 30 日

2022 年 2 月 14 日

Node.js 8.10

nodejs8.10

Amazon Linux

2020 年 3 月 6 日

Node.js 6.10

nodejs6.10

Amazon Linux

2019 年 8 月 12 日

Node.js 4.3 邊緣

nodejs4.3-edge

Amazon Linux

2019 年 4 月 30 日

Node.js 4.3

nodejs4.3

Amazon Linux

2020 年 3 月 6 日

Node.js 0.10

nodejs

Amazon Linux

2016 年 10 月 31 日

.NET Core 2.0

dotnetcore2.0

Amazon Linux

2019 年 5 月 30 日

.NET Core 1.0

dotnetcore1.0

Amazon Linux

2019 年 7 月 30 日

在幾乎大多數情況下,都會預先知道語言版本或作業系統的生命週期結束日期。如果您的函數使用的執行時間預計將在接下來 60 天內終止支援,Lambda 會透過電子郵件通知您。在極少數情況下,終止支援可能無法提前通知。例如,需要回溯不相容的更新或執行時間元件不提供長期支援 (LTS) 排程的安全性問題。

語言和框架支援政策