本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 DynamoDB Streams Kinesis 轉接器處理串流記錄
建議透過 Amazon Kinesis 轉接器耗用來自 Amazon DynamoDB 的串流。DynamoDB Streams API 刻意類似於 Kinesis Data Streams 的 API。在這兩種服務中,資料串流由碎片組成,碎片是用於串流紀錄的容器。這兩個服務的 APIs 都包含 DynamoDB Streams API,刻意類似於 Kinesis Data Streams 的 API。在這兩種服務中,資料串流由碎片組成,碎片是用於串流紀錄的容器。這兩種服務的 API 都包含 ListStreams
、DescribeStream
、GetShards
以及 GetShardIterator
操作。(雖然這些 DynamoDB Streams 動作與其在 Kinesis Data Streams 中的對應動作類似,但它們並非完全相同。)
身為 DynamoDB Streams 客戶,您可以使用 Kinesis Client Library (KCL) 中找到的設計模式來處理 DynamoDB Streams 碎片和串流記錄。為此,您可以使用 DynamoDB Streams Kinesis 轉接器。Kinesis 轉接器會實作 Kinesis Data Streams 界面,以便您將 KCL 用於耗用和處理來自 DynamoDB Streams 的紀錄。如需如何設定和安裝 DynamoDB Streams Kinesis Adapter 的說明,請參閱 GitHub 儲存庫
身為 DynamoDB Streams 使用者,您可以使用在 KCL 內找到的設計模式來處理 DynamoDB Streams 碎片和串流紀錄。為此,您可以使用 DynamoDB Streams Kinesis 轉接器。Kinesis 轉接器會實作 Kinesis Data Streams 界面,以便您將 KCL 用於耗用和處理來自 DynamoDB Streams 的紀錄。如需如何設定和安裝 DynamoDB Streams Kinesis Adapter 的說明,請參閱 GitHub 儲存庫
您可以使用 Kinesis Client Library (KCL) 為 Kinesis Data Streams 撰寫應用程式。KCL 會在低階 Kinesis Data Streams API 上提供有用的抽象,可以簡化程式碼。如需 KCL 的詳細資訊,請參閱《Amazon Kinesis Data Streams 開發人員指南》中的使用 Kinesis Client Library 開發消費者。
DynamoDB 建議使用 KCL 3.x 版搭配適用於 Java 的 AWS SDK v2.x。目前 KCL 版本 1.x 搭配 適用於 Java 的 AWS SDK v1.x 將在轉換期間繼續如預期般在整個生命週期中完全支援,以符合 AWS SDKs和工具維護政策。
注意
Amazon Kinesis Client Library (KCL) 版本 1.x 和 2.x 已過期。KCL 1.x 將於 2026 年 1 月 30 日end-of-support。我們強烈建議您使用 1.x 版將 KCL 應用程式遷移至 2026 年 1 月 30 日之前的最新 KCL 版本。若要尋找最新的 KCL 版本,請參閱 GitHub 上的 Amazon Kinesis 用戶端程式庫
下圖顯示這些程式庫彼此如何互動。

有了 DynamoDB Streams Kinesis 轉接器,您就可以開始針對 KCL 界面進行開發,並將 API 呼叫順暢地導向 DynamoDB Streams 端點。
當應用程式啟動後,其會呼叫 KCL 以將工作者執行個體化。您必須向工作者提供應用程式的組態資訊,例如串流描述項和 AWS 登入資料,以及您提供的記錄處理器類別名稱。當其在紀錄處理器中執行程式碼時,工作者會執行下列任務:
-
連線到串流
-
列舉串流內的碎片
-
檢查並列舉串流中已關閉父碎片的子碎片
-
檢查並列舉串流中已關閉父碎片的子碎片
-
與其他工作者 (若有) 協調碎片關聯性
-
為其所管理的每個碎片執行個體化記錄處理器
-
從串流提取紀錄
-
將記錄推送至對應的記錄處理器
-
對已處理的記錄執行檢查點作業
-
當工作者執行個體數目變更時,平衡碎片與工作者的關聯
-
當碎片進行分割時,平衡碎片與工作者的關聯
注意
如需此處所列 KCL 概念的描述,請參閱《Amazon Kinesis Data Streams 開發人員指南》中的使用 Kinesis Client Library 開發消費者。
如需搭配 使用串流的詳細資訊, AWS Lambda 請參閱 DynamoDB 串流和 AWS Lambda 觸發