I am trying to pump lots of data through Amazon Kinesis (order 10,000 points per second).
In order to maximize records per second through my shards, I'd like to round robin my requests over the shards (my application logic doesn't care what shard individual messages go to).
It would seem I could do this with the ExplicitHashKey parameter for the messages in the list I am sending to the PutRecords endpoint - however the Amazon documentation doesn't actually describe how to use ExplicitHashKey, other than the oracular statement of:
http://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html
Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide.
(The statement in the docs above has a link to another section of the documentation, which does not discuss ExplicitHashKeys at all).
Is there a way to use ExplicitHashKey to round robin data among shards?
What are valid values for the parameter?