设计分区键以确保特定类型的数据进入 Kinesis 中的同一个分片

Designing partition key to ensure data of particular type goes to same shard in Kinesis

我是 AWS Kinesis 数据流的新手。在我的用例中,我想设置一个包含 2 个分片的 Kinesis 数据流,我想在一个分片中放置与学生相关的数据,在另一个分片中,我想放置与教师相关的数据.

这里,我的问题是如何设计分区键以确保与学生和教师相关的数据不会出现在 Kinesis 数据流中的同一个分片中?

每个分片将被赋予固定范围的分区键。您可以使用 describe-stream.

获得此范围

例如,对于第一个分片:

                "HashKeyRange": {
                    "StartingHashKey": "0",
                    "EndingHashKey": "113427455640312821154458202477256070484"
                },

因此,在开始流式传输之前,您可以通过编程方式检查范围并从各个范围中选择键。

有了这个,当你 PutRecords 明确指定 他们应该去哪个分片时,你可以使用 ExplicitHashKey