我对Kinesis Streams来说很陌生并花了很多时间浏览文档,但是我们无法确定是否可能有多个"主题&#34 ; (对于缺少一个更好的术语)在一个碎片上。最初我认为这是分区键的用途,但是在reading this之后:
分区键用于按流中的分片对数据进行分组。 Streams服务使用与每个数据记录关联的分区键将属于流的数据记录隔离为多个分片,以确定给定数据记录属于哪个分片。
...听起来像分区(可以)跨越多个分片。
我目前不需要多个单独的分片,但我做需要能够将消息分成该分片中的不同频道/主题 - 这对于Kinesis来说是不可能的吗? / p>
- 编辑 -
值得一提的是 - 我在申请中使用了KCL和KPL。
答案 0 :(得分:1)
只有一个分片,您将无法将数据分成单独的通道。要使用记录,您必须先调用GetShardIterator。 GetShardIterator获取流名称,分片ID和迭代器类型。
返回的分片迭代器是指向流的指针。如果你调用GetRecords,传入shard迭代器,Kinesis会将记录返回给你。响应将包含一批记录,包括数据,时间戳,序列号和分区键。
今天,在调用GetRecords / GetShardIterator时无法指定主题或任何其他过滤器。