当前位置: 首页 > 知识库问答 >
问题:

如何将数据写入Kinesis中的特定碎片

习哲彦
2023-03-14

如何将数据写入Kinesis中的特定分片?

博托医生说

分区键是Unicode字符串,每个键的最大长度限制为256个字符。MD5哈希函数用于将分区键映射到128位整数值,并使用碎片的哈希键范围将相关数据记录映射到碎片。您可以通过使用ExplicitHashKey参数显式指定哈希值来覆盖哈希分区键以确定碎片。

然而,我实际上如何做到这一点?

共有1个答案

陈渊
2023-03-14

执行此操作的方法是将EXISTICHASKey设置为特定分片的EndingHashKey和StartingHashKey之间的值,或者只是将其设置为其中之一。

put_response = kinesis_client.put_record(
                    StreamName=my_stream_name,
                    Data=json.dumps(payload),
                    ExplicitHashKey='340282366920938463463374607431768211455',
                    PartitionKey=thing_id)
 类似资料:
  • 我正在编写一个脚本,将带有标头的大. xlsx文件减少到CSV中,然后根据标头名称编写一个新的CSV文件,其中仅包含所需的列。 我得到的错误是最后一段代码,它说 我肯定我忽略了一些愚蠢的东西,但是我已经阅读了熊猫网站上的留档,我仍然不知所措。我知道我误用了to_csv参数,但我似乎无法理解留档。 任何帮助都是赞赏的,谢谢!

  • 我对Kinesis是新手。阅读我发现的文档,我可以创建Kinesis流来从生产者那里获得数据。然后使用KCL将从流中读取这些数据以进行进一步的处理。我了解了如何通过引入IRecordProcessor来编写KCL应用程序。

  • 问题内容: 我在变量中存储了JSON数据。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: TypeError:必须是字符串或缓冲区,而不是dict 如何解决这个问题? 问题答案: 您忘记了实际的JSON部分- 是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,您可以使

  • null 非常感谢任何指向文档或非常基本的示例的指针。

  • 如果您计划向特定的Kinesis流订阅的CloudWatch日志数据超过单个碎片所能处理的数据量,是否可以通过添加多个碎片来扩展流,然后将多个CloudWatch日志订阅分布到这些碎片上? 这里的文档有点掩盖了分片处理,只提到“ShardId-000000000000”。 API文档(至少对于.NET SDK而言)建议在创建订阅时指定目标arn,但我的理解是,arn不能比运动流更具体,但我不认为为

  • 问题内容: 我将JSON数据存储在变量中data。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: 必须是字符串或缓冲区,而不是dict 如何解决? 问题答案: 你忘记了实际的JSON部分- data是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,你可以使用