get_shard_iterator

DynamoDBStreams.Client.get_shard_iterator(**kwargs)

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.

Note

A shard iterator expires 15 minutes after it is returned to the requester.

See also: AWS API Documentation

Request Syntax

response = client.get_shard_iterator(
    StreamArn='string',
    ShardId='string',
    ShardIteratorType='TRIM_HORIZON'|'LATEST'|'AT_SEQUENCE_NUMBER'|'AFTER_SEQUENCE_NUMBER',
    SequenceNumber='string'
)
Parameters
  • StreamArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) for the stream.

  • ShardId (string) --

    [REQUIRED]

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

  • ShardIteratorType (string) --

    [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.
  • SequenceNumber (string) -- The sequence number of a stream record in the shard from which to start reading.
Return type

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.

Exceptions

  • DynamoDBStreams.Client.exceptions.ResourceNotFoundException
  • DynamoDBStreams.Client.exceptions.InternalServerError
  • DynamoDBStreams.Client.exceptions.TrimmedDataAccessException

Examples

The following example returns a shard iterator for the provided stream ARN and shard ID.

response = client.get_shard_iterator(
    ShardId='00000001414576573621-f55eea83',
    ShardIteratorType='TRIM_HORIZON',
    StreamArn='arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252',
)

print(response)

Expected Output:

{
    'ShardIterator': 'arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAEvJp6D+zaQ...  <remaining characters omitted> ...',
    'ResponseMetadata': {
        '...': '...',
    },
}