Je ne trouve pas dans la documentation formelle de AWS Kinesis
aucune explicit référence entre TRIM_HORIZON
et le point de contrôle, ni aucune référence entre LATEST
et le point de contrôle.
Pouvez-vous confirmer ma théorie:
TRIM_HORIZON
- Si le nom de l'application est nouveau, je lirai tous les enregistrements disponibles dans le flux. Sinon, nom-application a déjà été utilisé, puis je lirai dansmondernier point de contrôle.
LATEST
- Si le nom de l'application est nouveau, je lirai tous les enregistrements du flux ayant ajoutéaprèsj'ai souscrit au flux. Sinon, le nom de l'application a déjà été utilisé, je vais lire les messages demylast checkpoint.
La différence entre TRIM_HORIZON
et LATEST
n'existe que dans le cas où le nom de l'application est nouveau.
De Documentation GetShardIterator (qui correspond à mon expérience avec Kinesis):
Dans la demande, vous pouvez spécifier le type
AT_TIMESTAMP
de fragment de fragment pour lire les enregistrements d'un instant donné,TRIM_HORIZON
pour que ShardIterator pointe le dernier enregistrement non tronqué du fragment dans le système (le plus ancien enregistrement de données du fragment)LATEST
afin que vous lisiez toujours les données les plus récentes de la partition.
Fondamentalement, la différence est de savoir si vous souhaitez commencer par le plus ancien enregistrement non traité (TRIM_HORIZON
) ou par "maintenant" (LATEST
- saut des données entre le dernier point de contrôle et maintenant).