

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

# 設定 Lambda 的 Amazon MSK 事件來源
<a name="with-msk-configure"></a>

若要將 Amazon MSK 叢集用作 Lambda 函式的事件來源，需要建立將這兩項資源連線的[事件來源映射](invocation-eventsourcemapping.md)。本頁介紹了如何為 Amazon MSK 建立事件來源映射。

本頁假設您已正確設定 MSK 叢集及其所在的 [Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。如需設定叢集或 VPC，請參閱[為 Lambda 設定 Amazon MSK 叢集與 Amazon VPC 網路](with-msk-cluster-network.md)。若要設定錯誤處理的重試行為，請參閱 [設定 Kafka 事件來源的錯誤處理控制項](kafka-retry-configurations.md)。

**Topics**
+ [使用 Amazon MSK 叢集作為事件來源](#msk-esm-overview)
+ [在 Lambda 中設定 Amazon MSK 叢集身分驗證方法](msk-cluster-auth.md)
+ [為 Amazon MSK 事件來源建立 Lambda 事件來源映射](msk-esm-create.md)
+ [在 Lambda 中建立跨帳戶事件來源映射](msk-cross-account.md)
+ [Lambda 中的所有 Amazon MSK 事件來源組態參數](msk-esm-parameters.md)

## 使用 Amazon MSK 叢集作為事件來源
<a name="msk-esm-overview"></a>

當您將 Apache Kafka 或 Amazon MSK 叢集新增為 Lambda 函數的觸發條件時，該叢集會用作[事件來源](invocation-eventsourcemapping.md)。

Lambda 會根據您指定的[起始位置](kafka-starting-positions.md)，從 Kafka 主題 (您在 [CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) 請求中指定為 `Topics`) 讀取事件資料。處理成功後，您的 Kafka 主題將遞交給 Kafka 叢集。

Lambda 會依序讀取每個 Kafka 主題分割區的訊息。單一 Lambda 承載可以包含來自多個分割區的訊息。有更多記錄可用時，Lambda 會根據您在 [CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) 請求中指定的 BatchSize 值，繼續以批次方式來處理記錄，直到函式追上主題的進度為止。

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

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