This operation returns one or more data records from a shard. A GetRecords
operation request can retrieve up to 10 MB of data.
You specify a shard iterator for the shard that you want to read data from in the ShardIterator
parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. A shard iterator specifies this position using the sequence number of a data record in the shard. For more information about the shard iterator, see GetShardIterator.
GetRecords
may return a partial result if the response size limit is exceeded. You will get an error, but not a partial result if the shard's provisioned throughput is exceeded, the shard iterator has expired, or an internal processing failure has occurred. Clients can request a smaller amount of data by specifying a maximum number of returned records using the Limit
parameter. The Limit
parameter can be set to an integer value of up to 10,000. If you set the value to an integer greater than 10,000, you will receive InvalidArgumentException
.
A new shard iterator is returned by every GetRecords
request in NextShardIterator
, which you use in the ShardIterator
parameter of the next GetRecords
request. When you repeatedly read from an Amazon Kinesis stream use a GetShardIterator request to get the first shard iterator to use in your first GetRecords
request and then use the shard iterator returned in NextShardIterator
for subsequent reads.
GetRecords
can return null
for the NextShardIterator
to reflect that the shard has been closed and that the requested shard iterator would never have returned more data.
If no items can be processed because of insufficient provisioned throughput on the shard involved in the request, GetRecords
throws ProvisionedThroughputExceededException
.
|
|
|
|