

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

# Lambda 中的 Apache Kafka 輪詢與串流開始位置
<a name="kafka-starting-positions"></a>

[StartingPosition 參數](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html#lambda-CreateEventSourceMapping-request-StartingPosition)會告知 Lambda 何時開始從 Amazon MSK 或自我管理的 Apache Kafka 串流中讀取訊息。有三種選項可供選擇：
+ **最新**：Lambda 將從 Kafka 主題中最新一筆記錄之後開始讀取。
+ **水平修剪**：Lambda 將從 Kafka 主題中最後一筆未修剪的記錄開始讀取。這也是主題中最舊的記錄。
+ **在時間戳記**：Lambda 將從由時間戳記 (以 Unix 時間秒為單位) 定義的位置開始讀取。使用 [StartingPositionTimestamp 參數](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html#lambda-CreateEventSourceMapping-request-StartingPositionTimestamp)來指定時間戳記。

在建立或更新事件來源映射期間，串流輪詢最終會一致：
+ 在建立事件來源映射期間，從串流開始輪詢事件可能需要幾分鐘時間。
+ 在更新事件來源映射期間，從串流停止並重新開始輪詢事件最多可能需要 90 秒。

這種行為表示，如果您將 `LATEST` 指定為串流的開始位置，事件來源映射可能會在建立或更新期間遺漏事件。為確保不會遺漏任何事件，需指定 `TRIM_HORIZON` 或 `AT_TIMESTAMP`。