问题描述
我是AWS Kinesis数据流的新手。在我的用例中,我想建立一个包含2个分片的Kinesis数据流,其中一个分片我想放入与学生相关的数据,而另一个分片中我想放入与教师相关的数据
在这里,我的问题是如何设计分区键以确保与Student和Teacher相关的数据不会落入Kinesis数据流的同一碎片中?
解决方法
每个分片将得到固定范围的分区键。您可以使用describe-stream获得此范围。
例如,对于第一个分片:
"HashKeyRange": {
"StartingHashKey": "0","EndingHashKey": "113427455640312821154458202477256070484"
},
因此,在开始流式传输之前,您可以以编程方式检查范围并从相应范围中选择键。
有了这个,您可以在PutRecords
明确指定应该使用的分片时使用ExplicitHashKey。