I am searching the documentation of Kinesis Data Streams but I can't find a clear statement like
Kinesis guarantees at least once delivery
From the producer side I expect that a message sent, gets propagated to more than one nodes (something like Kafka's ack=all) From the consumer side I am expecting something equivalent to Kafka commit offset on successful processing from the consumer, or something like Google Cloud's Pub/Sub message acknowledgement.
Is there a submit message guarantee for Kinesis? Is there a processing guarantee for Kinesis (mark message as read only if processed and acknowledged that it was processed)