【问题标题】:How to write data to a specific shard in Kinesis如何将数据写入 Kinesis 中的特定分片
【发布时间】:2017-10-08 18:05:51
【问题描述】:
如何将数据写入 Kinesis 中的特定分片?
Boto 文档说
分区键是 Unicode 字符串,每个键的最大长度限制为 256 个字符。 MD5 散列函数用于将分区键映射到 128 位整数值,并使用分片的散列键范围将关联的数据记录映射到分片。您可以通过使用 ExplicitHashKey 参数显式指定散列值来覆盖分区键的散列以确定分片。
但是我该如何做呢?
【问题讨论】:
标签:
python
amazon-kinesis
【解决方案1】:
这样做的方法是将 ExplicitHashKey 设置为特定分片的 EndingHashKey 和 StartingHashKey 之间的值,或者只是将其设置为其中之一。
put_response = kinesis_client.put_record(
StreamName=my_stream_name,
Data=json.dumps(payload),
ExplicitHashKey='340282366920938463463374607431768211455',
PartitionKey=thing_id)