A company is using Amazon Kinesis Data Streams to ingest large volumes of sensor data from IoT devices. They need to ensure that if errors occur during ingestion, the data can be reprocessed to maintain consistency. Which feature of Kinesis Data Streams is most suitable to handle this requirement?