Amazon DynamoDB Streams

2026/10/14 - Amazon DynamoDB Streams - 1 updated api methods

Changes  Add support for a new iterator type (AT TIMESTAMP) for DynamoDB Streams GetShardIterator API that allows reading from a specific point in time from the stream.

GetShardIterator (updated) Link ΒΆ
Changes (request)
{'ShardIteratorType': {'AT_TIMESTAMP'}, 'Timestamp': 'timestamp'}

Returns a shard iterator. A shard iterator provides information about how to retrieve the stream records from within a shard. Use the shard iterator in a subsequent GetRecords request to read the stream records from the shard.

See also: AWS API Documentation

Request Syntax

client.get_shard_iterator(
    StreamArn='string',
    ShardId='string',
    ShardIteratorType='TRIM_HORIZON'|'LATEST'|'AT_SEQUENCE_NUMBER'|'AFTER_SEQUENCE_NUMBER'|'AT_TIMESTAMP',
    SequenceNumber='string',
    Timestamp=datetime(2015, 1, 1)
)
type StreamArn:

string

param StreamArn:

[REQUIRED]

The Amazon Resource Name (ARN) for the stream.

type ShardId:

string

param ShardId:

[REQUIRED]

The identifier of the shard. The iterator will be returned for this shard ID.

type ShardIteratorType:

string

param ShardIteratorType:

[REQUIRED]

Determines how the shard iterator is used to start reading stream records from the shard:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the position denoted by a specific sequence number.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number.

  • TRIM_HORIZON - Start reading at the last (untrimmed) stream record, which is the oldest record in the shard. In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream.

  • LATEST - Start reading just after the most recent stream record in the shard, so that you always read the most recent data in the shard.

  • AT_TIMESTAMP - Start reading from the position denoted by a specific timestamp, provided in the parameter Timestamp.

type SequenceNumber:

string

param SequenceNumber:

The sequence number of a stream record in the shard from which to start reading.

type Timestamp:

datetime

param Timestamp:

The timestamp of the stream record from which to start reading. Used with shard iterator type AT_TIMESTAMP. A timestamp is the Unix epoch date with precision in milliseconds. For example, 1791316726.480. The iterator points to the first stream record whose ApproximateCreationDateTime is at or after the specified timestamp. If no record with that exact timestamp exists, the iterator points to the next (later) record. If the timestamp is older than the current trim horizon, the iterator points to the oldest untrimmed stream record ( TRIM_HORIZON). If the timestamp is in the future, the request returns a ValidationException.

rtype:

dict

returns:

Response Syntax

{
    'ShardIterator': 'string'
}

Response Structure

  • (dict) --

    Represents the output of a GetShardIterator operation.

    • ShardIterator (string) --

      The position in the shard from which to start reading stream records sequentially. A shard iterator specifies this position using the sequence number of a stream record in a shard.