DynamoDB Streams lesen jetzt ab einem Zeitstempel – mit dem Shard-Iterator AT_TIMESTAMP
AWS hat am 15. Oktober 2026 angekündigt, dass Amazon DynamoDB Streams zeitstempelbasierte Verarbeitung unterstützt. Consumer können jetzt beim ersten Datensatz beginnen, der zu oder nach einem bestimmten Zeitpunkt geschrieben wurde – über den Shard-Iterator-Typ AT_TIMESTAMP.
Was sich ändert. Bisher, so AWS, konnte ein Consumer nur beim ältesten noch vorhandenen Datensatz starten, der höchstens 24 Stunden alt ist, oder bei Datensätzen, die nach dem Start der Verarbeitung geschrieben wurden. Die Ankündigung nennt vier Einsatzzwecke: Wiederaufnahme nach einer Unterbrechung, ohne den gesamten vorgehaltenen Stream erneut zu verarbeiten oder Datensätze zu verpassen; das erneute Abspielen ab einem bestimmten Zeitpunkt für Fehlersuche und Audits; das Überspringen eines Rückstaus, indem man nahe an den neuesten Datensätzen einsteigt; und die Synchronisierung nach einer Wiederherstellung ab dem Export-Zeitstempel eines Point-in-Time-Recovery-Exports (PITR).
Konfiguration. Laut Entwicklerhandbuch wird die Funktion mit der Kinesis Client Library (KCL) über den DynamoDB Streams Kinesis Adapter ab Version 2.5.0 genutzt. Sie braucht dieselben IAM-Berechtigungen wie eine bestehende Adapter-Anwendung und keine zusätzlichen API-Rechte. Im Code erzeugt die Anwendung mit newInitialPositionAtTimestamp(...) ein InitialPositionInStreamExtended, übergibt es an StreamsSchedulerFactory.createSingleStreamTracker und registriert den zurückgegebenen Tracker beim ConfigsBuilder. Der Adapter initialisiert dann jede neue Lease mit AT_TIMESTAMP, ruft GetShardIterator mit dem Zeitstempel auf und reicht den Iterator an GetRecords weiter, das ab dem ersten Datensatz liefert, dessen ApproximateCreationDateTime zu oder nach diesem Zeitpunkt liegt.

Grenzfälle laut Handbuch. Ein Zeitstempel, der älter ist als die vorgehaltenen Datensätze, führt nicht zu einem Fehler: Die Anwendung beginnt beim ältesten noch verfügbaren Datensatz jedes Shards, und Datensätze jenseits der 24-Stunden-Aufbewahrung lassen sich nicht zurückholen. Ein Zeitstempel in der Zukunft wird vom Adapter schon bei der Initialisierung ohne API-Aufruf abgewiesen, die Verarbeitung startet dann nicht; bei Zeitpunkten nahe der Gegenwart soll man Uhrabweichungen zwischen Host und Dienst einplanen.
Laufende Anwendungen nicht umstellen. Das Handbuch warnt davor, in einer Anwendung mit Zustand in einer Lease-Tabelle den Zeitstempel zu ändern oder zwischen AT_TIMESTAMP, TRIM_HORIZON und LATEST zu wechseln: Shards mit Checkpoints machen dort weiter, noch nicht gestartete Shards übernehmen die neue Einstellung oder scheitern – am Ende können Shards an unterschiedlichen Punkten beginnen. Empfohlen wird, alle Worker zu stoppen, die Lease-Tabelle zu löschen, die Konfiguration anzupassen und neu zu starten; alternativ sorgt ein neuer Anwendungsname dafür, dass KCL eine neue Lease-Tabelle anlegt, während die alte für ein Rollback erhalten bleibt.
Verfügbarkeit und Preis. Die Funktion steht in allen kommerziellen AWS-Regionen, den AWS-GovCloud-Regionen (US) und den China-Regionen bereit – ohne Kosten über die üblichen GetRecords-Gebühren hinaus.
Quelle: AWS What's New, 15. Oktober 2026 — https://aws.amazon.com/about-aws/whats-new/2026/10/amazon-dynamodb-streams-timestamp-processing/ ; Entwicklerhandbuch: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Timestamp.html