本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 Lambda 執行程式碼
當您編寫 Lambda 函式時,其實是在建立將在獨特的無伺服器環境中執行的程式碼。了解 Lambda 實際執行程式碼的運作原理,需掌握兩個核心面向:定義程式碼與 Lambda 互動方式的程式設計模型,以及決定 Lambda 如何管理程式碼執行時期環境的執行環境生命週期。
Lambda 程式設計模型
無論您是以 Python、Java 或任何其他支援的語言撰寫,程式設計模型都會做為 Lambda 如何使用程式碼的常見規則集。程式設計模型包含您的執行時期與處理常式。
對於標準函數:
-
Lambda 收到事件。
-
Lambda 會使用執行時間,以您的程式碼可以使用的格式準備事件。
-
執行時期將格式化的事件傳送至您的處理常式。
-
您的處理常式會使用您撰寫的程式碼來處理事件。
此模型的關鍵是處理常式,這是 Lambda 將事件傳送給您的程式碼進行處理的入口。您可以將其視為程式碼的進入點。當 Lambda 收到事件時,會將此事件與部分內容資訊傳遞給您的處理常式。然後,處理常式會執行您的程式碼來處理這些事件。例如,其可能會在有檔案上傳至 Amazon S3 時讀取該檔案、分析映像或更新資料庫。當程式碼完成事件處理後,處理常式即準備就緒,可繼續處理下一個事件。
Lambda 執行模型
雖然程式設計模型會定義 Lambda 與您的程式碼互動的方式,但執行環境是 Lambda 實際執行函數的地方,它是專為您的函數建立的安全隔離運算空間。
每個環境都遵循生命週期:
-
初始化:環境設定和程式碼載入
-
調用:函數程式碼的單一執行
-
關閉:環境清除
此環境會處理執行函式所涉及的重要層面。其會為函式提供記憶體與 /tmp 目錄用於暫時儲存。