Kinesis Adapter を使用したストリームレコードの処理DynamoDB ストリーム - Amazon DynamoDB

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Kinesis Adapter を使用したストリームレコードの処理DynamoDB ストリーム

からストリームを消費するには、Amazon Kinesis Adapter を使用する方法をお勧めします。Amazon DynamoDBAPI は、ストリーミングデータのリアルタイム処理を大規模に行うサービスである DynamoDB ストリーム と意図的に似ています。Kinesis Data Streamsどちらのサービスでも、データストリームは、ストリームレコードのコンテナであるシャードで構成されます。両方のサービスの APIs には、ListStreamsDescribeStreamGetShards、および GetShardIterator オペレーションが含まれます。(これらの DynamoDB ストリーム アクションは Kinesis Data Streams のアクションに似ていますが、100% 同一ではありません)。

クライアントライブラリ (KCL) を使用して、Kinesis Data Streams 用のアプリケーションを作成できます。KinesisKCL は、低レベルの Kinesis Data Streams API の上で役に立つ抽象化を提供することによりコーディングを簡素化します。KCL の詳細については、Kinesis の「 クライアントライブラリを使用したコンシューマーの開発」を参照してください。Amazon Kinesis Data Streams 開発者ガイド

ユーザーは、KCL 内で見つかった設計パターンを使用して、DynamoDB ストリーム シャードとストリームレコードを処理できます。DynamoDB ストリームこれを行うには、DynamoDB ストリーム Kinesis Adapter を使用します。Adapter は Kinesis インターフェイスを実装しているため、KCL は Kinesis Data Streams からのレコードの消費と処理に使用できます。DynamoDB ストリーム

次の図は、これらのライブラリが互いにどのように連携するかを示しています。

Adapter を設定したら、API コールを DynamoDB ストリーム エンドポイントにシームレスに向け、KCL インターフェイスに対して開発を開始できます。KinesisDynamoDB ストリーム

アプリケーションが起動すると、KCL を呼び出してワーカーをインスタンス化します。ストリーム記述子と AWS 認証情報などのアプリケーションの設定情報をワーカーに提供する必要があります。また、指定するレコードプロセッサクラスの名前もワーカーに提供する必要があります。ワーカーは、レコードプロセッサでコードを実行する際に、以下のタスクを実行します。

  • ストリームに接続します。

  • ストリーム内のシャードを列挙します。

  • シャードと他のワーカー (存在する場合) の関連付けを調整します。

  • レコードプロセッサが管理する各シャードのレコードプロセッサをインスタンス化します。

  • ストリームからレコードをプルします。

  • 対応するレコードプロセッサにレコードをプッシュします。

  • 処理されたレコードのチェックポイントを作成します。

  • ワーカーのインスタンス数が変更されたときに、シャードとワーカーの関連付けを調整する。

  • シャードが分割されるときに、シャードとワーカーの関連付けを調整します。

注記

ここに示されている KCL の概念については、 の「Kinesis クライアントライブラリを使用したコンシューマーの開発」を参照してください。Amazon Kinesis Data Streams 開発者ガイド