aws-kinesis-0.1.4: Bindings for Amazon Kinesis

CopyrightCopyright (c) 2013-2015 PivotCloud, Inc.
LicenseApache License, Version 2.0
MaintainerLars Kuhtz <>
Safe HaskellNone



API Version: 2013-12-02

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.


data GetRecords Source




getRecordsLimit :: !(Maybe Int)

The maximum number of records to return, which can be set to a value of up to 10,000.

getRecordsShardIterator :: !ShardIterator

The position in the shard from which you want to start sequentially reading data records.

data GetRecordsResponse Source




getRecordsResNextShardIterator :: !(Maybe ShardIterator)

The next position in the shard from which to start sequentially reading data records. If set to null, the shard has been closed and the requested iterator will not return any more data.

getRecordsResRecords :: ![Record]

List of Records