A shard iterator specifies the position in the shard from which to start reading data records sequentially. A shard iterator specifies this position using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the Amazon Kinesis stream. The sequence number is assigned when a record is put into the stream.
You must specify the shard iterator type. For example, you can set the
parameter to read exactly from the position denoted by a specific sequence number
by using the
AT_SEQUENCE_NUMBER shard iterator type, or right after the
sequence number by using the
AFTER_SEQUENCE_NUMBER shard iterator type,
using sequence numbers returned by earlier calls to PutRecord, PutRecords,
GetRecords, or DescribeStream. You can specify the shard iterator type
TRIM_HORIZON in the request to cause
ShardIterator to point
to the last untrimmed record in the shard in the system, which is the oldest data
record in the shard. Or you can point to just after the most recent record in the
shard, by using the shard iterator type
LATEST, so that you always read
the most recent data in the shard.
When you repeatedly read from an Amazon Kinesis stream use a GetShardIterator
request to get the first shard iterator for use in your first GetRecords request
and then use the shard iterator returned by the GetRecords request in
for subsequent reads. A new shard iterator is returned by every GetRecords
NextShardIterator, which you use in the
parameter of the next GetRecords request.
GetShardIterator has a limit of 5 transactions per second per account per open shard.
Version: (assembly version)
public abstract GetShardIteratorResponse GetShardIterator( GetShardIteratorRequest request )
Container for the necessary parameters to execute the GetShardIterator service method.
|InvalidArgumentException||A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.|
|ProvisionedThroughputExceededException||The request rate is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Error Retries and Exponential Backoff in AWS in the AWS General Reference.|
|ResourceNotFoundException||The requested resource could not be found. The stream might not be specified correctly, or it might not be in the ACTIVE state if the operation requires it.|
Supported in: 4.5, 4.0, 3.5