Lambda 程式設計模型 - AWS Lambda

Lambda 程式設計模型

Lambda 提供的程式設計模型對於所有執行時間通用。程式設計模型會定義程式碼與 Lambda 系統之間的介面。透過在函數組態中定義一個處理常式,將函數的進入點告知 Lambda。執行時間會將包含呼叫事件內容的物件傳入至處理常式,例如函數名稱和請求 ID。

當處理常式完成處理第一個事件時,執行時間就會傳送至另一個。函數的類別會保留在記憶體中,因此可以重複使用在初始化程式碼的處理常式方法外宣告的用戶端和變數。為了節省後續事件的處理時間,請建立可重複使用的資源,例如初始化期間的 AWS SDK 用戶端。初始化後,函式的每個執行個體都可以處理數千個請求。

啟用AWS X-Ray追蹤時,執行時間會記錄初始化和執行的個別子區段。

您的函數也可以存取 /tmp 目錄中的本機儲存。正在處理請求的函數執行個體在回收之前會保持數小時的作用中狀態。

執行時間會從您的函數擷取記錄輸出,並將其傳送至 Amazon CloudWatch Logs。除了記錄函式的輸出之外,執行階段也會記錄函式叫用開始和結束的項目。這包含有要求 ID、帳單期、初始化持續時間和其他詳細資料的記錄。如果函數拋出錯誤,執行時間會將該錯誤傳回給叫用者。

注意

記錄受 CloudWatch Logs 配額限制。日誌資料可能會因節流而遺失,或在某些情況下,因函數的執行個體停止而遺失。

如需使用慣用程式設計語言的程式設計模型實作簡介,請參閱以下章節。

Lambda 會隨著需求增加執行額外的執行個體,以及隨需求降低停止執行個體,藉以擴展您的函數。除非另有說明,否則可能會不按順序或同時處理傳入的請求。將應用程式的狀態存放在其他服務中,且不依賴函數長期存留的執行個體。使用本機儲存和類別層級物件來提高效能,但將部署套裝服務的大小和傳輸至執行環境的資料量降至最低。