DynamoDBStreams / Client / get_shard_iterator

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': {
        '...': '...',
    },
}