Amazon Kinesis Data Streams
開発者ガイド

KPL 集約を使用するときの考慮事項

結果として得られた Amazon Kinesis Data Streams レコードのシーケンス番号スキームは同じままですが、集約された Kinesis Data Streams レコードに含まれる Kinesis Producer Library (KPL) ユーザーレコードのインデックスは 0 (ゼロ) から始まります。ただし、シーケンス番号に依存しない方法で KPL ユーザーレコードを一意に識別するかぎり、集約 (KPL ユーザーレコードの Kinesis Data Streams レコードへの集約) とその後の集約解除 (Kinesis Data Streams レコードの KPL ユーザーレコードへの集約解除) で自動的に考慮されるため、このようにインデックスが 0 (ゼロ) から始まることをコード上は無視してかまいません。これは、コンシューマーが KCL と AWS SDK のどちらを使用している場合でも適用されます。AWS SDK で提供される API を使用してコンシューマーが書かれている場合、この集約機能を使用するには、KPL の Java 部分をビルドに組み込む必要があります。

KPL ユーザーレコードの一意な識別子としてシーケンス番号を使用する場合、Record および UserRecord に提供されている、契約に順守した public int hashCode() および public boolean equals(Object obj) オペレーションを使用して、KPL ユーザーレコードの比較を有効にすることをお勧めします。さらに、KPL ユーザーレコードのサブシーケンス番号を調べる必要がある場合は、そのユーザーレコードを UserRecord インスタンスにキャストして、そのサブシーケンス番号を取得することができます。

詳細については、「コンシューマーの集約解除」を参照してください。