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 .
- getRecordsRequest (GetRecordsRequest)
- Container for the necessary parameters to execute the GetRecords service method on AmazonKinesis.