設定 Lambda 的 Amazon MSK 事件來源 - AWS Lambda

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

設定 Lambda 的 Amazon MSK 事件來源

若要使用 Amazon MSK 叢集做為 Lambda 函數的事件來源,您可以建立連接兩個資源的事件來源映射。此頁面說明如何建立 Amazon MSK 的事件來源映射。

此頁面假設您已正確設定 MSK 叢集及其所在的 Amazon Virtual Private Cloud (VPC)。如果您需要設定叢集或 VPC,請參閱 為 Lambda 設定 Amazon MSK 叢集和 Amazon VPC 網路

使用 Amazon MSK 叢集作為事件來源

當您將 Apache Kafka 或 Amazon MSK 叢集新增為 Lambda 函數的觸發條件時,該叢集會用作事件來源

Lambda 會根據您指定的開始位置,從您在 CreateEventSourceMapping 請求Topics中指定為 的 Kafka 主題讀取事件資料。處理成功後,您的 Kafka 主題將遞交給 Kafka 叢集。

Lambda 會依序讀取每個 Kafka 主題分割區的訊息。單一 Lambda 承載可以包含來自多個分割區的訊息。當有更多記錄可用時,Lambda 會根據您在 CreateEventSourceMapping 請求中指定的 BatchSize 值,繼續批次處理記錄,直到您的函數趕上主題。

Lambda 處理每個批次後,會遞交該批次中訊息的偏移量。如果函數針對批次中的任何訊息傳回錯誤,Lambda 會重試整個批次的訊息,直至處理成功或訊息過期。您可以將所有重試嘗試失敗時的記錄傳送至失敗時的目的地,以便稍後處理。

注意

雖然 Lambda 函數的逾時上限通常為 15 分鐘,但 Amazon MSK、自我管理的 Apache Kafka、Amazon DocumentDB 以及 Amazon MQ for ActiveMQ 和 Amazon MQ for RabbitMQ 的事件來源映射只支援 14 分鐘逾時限制上限的函數。