AWS Kinesis
の公式ドキュメントには、TRIM_HORIZON
とチェックポイントの間の参照explicit参照、およびLATEST
とチェックポイントの間の参照はありません。
私の理論を確認できますか:
TRIM_HORIZON
-application-nameが新しい場合、ストリームで使用可能なすべてのレコードを読み取ります。それ以外の場合、application-nameはすでに使用されているので、myの最後のチェックポイントから読み取ります。
LATEST
-アプリケーション名が新しい場合、追加したストリーム内のすべてのレコードを読み取りますafterストリームにサブスクライブしました。そうでない場合、application-nameはすでに使用されていました。最後のチェックポイントmyからメッセージを読み取ります。
TRIM_HORIZON
とLATEST
の違いは、アプリケーション名が新しい場合のみです。
GetShardIteratorのドキュメント から(Kinesisを使用した私の経験と一致します):
リクエストでは、シャードイテレータータイプ
AT_TIMESTAMP
を指定して、任意の時点からレコードを読み取り、TRIM_HORIZON
を使用して、ShardIteratorがシステム内のシャード内の最後のトリミングされていないレコードを指すようにすることができます(最も古いシャード内のデータレコード)、またはLATEST
を使用すると、常にシャード内の最新のデータを読み取ることができます。
基本的に、違いは、最も古いレコード(TRIM_HORIZON
)から開始するか、「今すぐ」から開始するか(LATEST
-データをスキップするかどうか)です。最新のチェックポイントと現在の間)。
AT_TIMESTAMP
-特定のタイムスタンプから
TRIM_HORIZON
-Kinesisストリームで最初から利用可能なすべてのメッセージ(Kafkaの最初のものと同じ)
最新
-最新のメッセージ、つまり、Kinesis/Kafkaに入ったばかりの現在のメッセージと、その時からのすべての着信メッセージ