使用 Lambda 執行程式碼 - AWS Lambda

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

使用 Lambda 執行程式碼

當您撰寫 Lambda 函數時,您正在建立將在唯一無伺服器環境中執行的程式碼。了解 Lambda 如何實際執行程式碼涉及兩個關鍵層面:定義程式碼與 Lambda 互動方式的程式設計模型,以及決定 Lambda 如何管理程式碼執行期環境的執行環境生命週期。

Lambda 程式設計模型

程式設計模型 無論您是以 Python、Java 或任何其他支援的語言撰寫, 都會做為 Lambda 如何使用程式碼的常見規則集。程式設計模型包含您的執行時間和處理常式。

  1. Lambda 收到事件。

  2. Lambda 會使用執行時間 (例如 Python 或 Java),以您的程式碼可以使用的格式準備事件。

  3. 執行時間會將格式化的事件傳送至您的處理常式。

  4. 您的處理常式會使用您在 Lambda 函數中寫入的程式碼來處理事件。

此模型的關鍵是處理常式,其中 Lambda 會傳送事件以由您的程式碼處理。將其視為程式碼的進入點。當 Lambda 收到事件時,它會將此事件和一些內容資訊傳遞給您的處理常式。然後,處理常式會執行您的程式碼來處理這些事件,例如,當檔案上傳至 Amazon S3 時,可能會讀取檔案、分析映像或更新資料庫。一旦您的程式碼完成處理事件,處理常式就可以處理下一個事件。

Lambda 執行模型

雖然程式設計模型會定義 Lambda 與您的程式碼互動的方式,但 執行環境 是 Lambda 實際執行函數的地方,它是專為您的函數建立的安全隔離運算空間。每個環境都遵循三個階段的生命週期。

  1. 初始化:Lambda 會建立環境,並準備好執行您的 函數。這包括設定您選擇的執行時間、載入程式碼,以及執行您撰寫的任何啟動程式碼。

  2. 調用:事件送達時,Lambda 會使用此環境來執行您的 函數。環境可以依序處理許多事件。隨著更多事件的到來,Lambda 會建立其他環境來處理增加的需求。當需求下降時,Lambda 會停止不再需要的環境。

  3. 關閉:最後,Lambda 會關閉環境。在執行此操作之前,它可讓您的函數清除任何剩餘的任務。

此環境會處理執行 函數的重要層面。它為您的函數提供記憶體和暫時儲存的/tmp目錄。它維護叫用之間的資料庫連線等資源,讓您的函數可以重複使用它們。它提供佈建並行等功能,其中 Lambda 會事先準備環境以改善效能。