本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon DocumentDB 已與 整合 AWS Lambda ,因此您可以使用 Lambda 函數來處理變更串流中的記錄。Lambda 事件來源映射是一種資源,可用來叫用 Lambda 函數,以處理不直接叫用 Lambda 的 Amazon DocumentDB 事件。使用 Amazon DocumentDB 變更串流做為事件來源,您可以建置事件驅動的應用程式來回應資料中的變更。例如,您可以使用 Lambda 函數來處理新文件、追蹤現有文件的更新,或記錄已刪除的文件。
您可以設定事件來源映射,將記錄從 Amazon DocumentDB 變更串流傳送至 Lambda 函數。事件可以一次傳送一個或批次處理,以提高效率,並按順序處理。您可以根據特定時段持續時間 (0 - 300 秒) 或批次記錄計數 (上限為 10,000 筆記錄),來設定事件來源映射的批次處理行為。您可以建立多個事件來源映射,以使用多個 Lambda 函數處理相同的資料,或使用單一函數處理來自多個串流的不同項目。
如果您的 函數傳回錯誤,Lambda 會重試批次,直到成功處理為止。如果變更串流中的事件已過期,Lambda 將停用事件來源映射。在這種情況下,您可以建立新的事件來源映射,並使用您選擇的開始位置進行設定。由於輪詢器的分散式特性,Lambda 事件來源映射會至少處理一次事件。因此在極少數情況下,您的 Lambda 函數可能會收到重複的事件。遵循使用 AWS Lambda 函數和建置等冪函數的最佳實務,以避免與重複事件相關的問題。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的搭配使用 AWS Lambda console 與 Amazon DocumentDB。
作為效能最佳實務,Lambda 函數必須為短期函數。為了避免產生不必要的處理延遲,此函數也不應執行複雜的邏輯。尤其對於高速串流而言,相較於同步長時間執行的 Lambda,觸發非同步後續處理 Step Function 工作流程是較佳的做法。如需詳細資訊 AWS Lambda,請參閱 AWS Lambda 開發人員指南。
限制
以下是使用 Amazon DocumentDB 和 時應考慮的限制 AWS Lambda:
AWS Lambda 目前僅支援 Amazon DocumentDB 4.0 和 5.0。
AWS Lambda 目前不支援彈性叢集或全域叢集。
AWS Lambda 承載大小不能超過 6MB。如需 Lambda 批次大小的詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的 Lambda 事件來源映射一節中的「批次行為」。