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'
)
[REQUIRED]
The Amazon Resource Name (ARN) for the stream.
[REQUIRED]
The identifier of the shard. The iterator will be returned for this shard ID.
[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.dict
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': {
'...': '...',
},
}