Lambda 的最佳實務 - Amazon DynamoDB

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

Lambda 的最佳實務

AWS Lambda 函數在容器內運行-與其他函數隔離的執行環境。當您第一次執行函式時, AWS Lambda 會建立新容器並開始執行函式的程式碼。

Lambda 函數有一個處理常式,每次叫用只執行一次。此處理常式包含函數的主要商業邏輯。例如,步驟 4:建立並測試 Lambda 函數 中顯示的 Lambda 函數有一個可處理 DynamoDB Streams 紀錄的處理常式。

您也可以提供僅執行一次的初始化程式碼 (在建立容器之後,但在第一次 AWS Lambda 執行處理常式之前)。中顯示的 Lambda 函數步驟 4:建立並測試 Lambda 函數具有初始化程式碼,可 JavaScript 在 Node.js 中匯入的 SDK,並為 Amazon SNS 建立用戶端。這些物件應該只在處理常式外部定義一次。

函數運行後, AWS Lambda 可能會選擇重複使用容器以進行後續調用函數。在這種情況下,您的函數處理常式或許能夠重複使用您在初始化程式碼中定義的資源 (您完全無法控制 AWS Lambda 保留容器多長時間,或容器是否得以重複使用。)

對於使用的 DynamoDB 觸發器 AWS Lambda,我們建議您執行下列操作:

  • AWS 服務客戶端應該在初始化代碼中實例化,而不是在處理程序中。這 AWS Lambda 允許在容器的生命週期內重複使用現有的連接。

  • 一般而言,您不需要明確管理連線或實作連線集區,因為會為您 AWS Lambda 管理此連線。

DynamoDB 串流的 Lambda 取用者無法保證只有一次交付,而且可能導致偶爾重複。請確定您的 Lambda 函數程式碼是冪等的,以避免因重複處理而產生意外的問題。

如需詳細資訊,請參閱AWS Lambda 開發人員指南的使用 AWS Lambda 函數的最佳做法