為 Lambda 設定自我管理的 Apache Kafka 事件來源 - AWS Lambda

為 Lambda 設定自我管理的 Apache Kafka 事件來源

若要將自我管理的 Apache Kafka 叢集用作 Lambda 函式的事件來源,需要建立將這兩項資源連線的事件來源映射。本頁介紹了如何為自我管理的 Apache Kafka 建立事件來源映射。

本頁假設您已正確設定 Kafka 叢集及其所在的網路。如需設定叢集或網路,請參閱為 Lambda 設定自我管理的 Apache Kafka 叢集與網路

將自我管理的 Apache Kafka 叢集用作事件來源

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

Lambda 會根據您指定的起始位置,從 Kafka 主題 (您在 CreateEventSourceMapping 請求中指定為 Topics) 讀取事件資料。處理成功後,您的 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 分鐘逾時限制上限的函數。