我有一个包含 4 个分片的运动数据流。但是,当我使用以下命令时:
aws kinesis list-shards \
--stream-name stream --region us-east-1
我收到更多碎片回复:
{
"Shards": [
{
"ShardId": "shardId-000000000000",
"HashKeyRange": {
"StartingHashKey": "0",
"EndingHashKey": "340282366920938463463374607431768211455"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629197963553601158578444092147254587573454320158375938",
"EndingSequenceNumber": "49629197963564751531177709403716813520960387136782073858"
}
},
{
"ShardId": "shardId-000000000001",
"ParentShardId": "shardId-000000000000",
"HashKeyRange": {
"StartingHashKey": "0",
"EndingHashKey": "170141183460469231731687303715884105727"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629562583971205188053748556663691537888312852092026898",
"EndingSequenceNumber": "49629562583982355560653013868233250471205027557631066130"
}
},
{
"ShardId": "shardId-000000000002",
"ParentShardId": "shardId-000000000000",
"HashKeyRange": {
"StartingHashKey": "170141183460469231731687303715884105728",
"EndingHashKey": "340282366920938463463374607431768211455"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629562583993505933252279179805227256160961213598007330",
"EndingSequenceNumber": "49629562584004656305851544491374786189477675919137046562"
}
},
{
"ShardId": "shardId-000000000003",
"ParentShardId": "shardId-000000000001",
"HashKeyRange": {
"StartingHashKey": "0",
"EndingHashKey": "85070591730234615865843651857942052863"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629562611133512839864047543054196393974022389056405554"
}
},
{
"ShardId": "shardId-000000000004",
"ParentShardId": "shardId-000000000001",
"HashKeyRange": {
"StartingHashKey": "85070591730234615865843651857942052864",
"EndingHashKey": "170141183460469231731687303715884105727"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629562611155813585062578166195732112246670750562385986"
}
},
{
"ShardId": "shardId-000000000005",
"ParentShardId": "shardId-000000000002",
"HashKeyRange": {
"StartingHashKey": "170141183460469231731687303715884105728",
"EndingHashKey": "255211775190703847597530955573826158591"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629562611178114330261108789337267830519319112068366418"
}
},
{
"ShardId": "shardId-000000000006",
"ParentShardId": "shardId-000000000002",
"HashKeyRange": {
"StartingHashKey": "255211775190703847597530955573826158592",
"EndingHashKey": "340282366920938463463374607431768211455"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49629562611200415075459639412478803548791967473574346850"
}
}
]
}
为什么我看到的分片多于预配置的分片?我正在检查分片的哈希范围,以确定它们是否均匀分布,但我很困惑为什么我看到更多分片或它们来自哪里。任何想法都会有帮助。
好吧,我明白了。它显示了所有分片,包括已拆分的父分片。如果您只想获取活动分片,请检查
EndingSequenceNumber
响应。带有 EndingSequenceNumber
的分片是紧密分片。所以在这里我只有 4 个分片,它们不是 EndingSequenceNumber
因此是活跃分片。
仅显示打开的分片的另一种方法是使用
--shard-filter Type=AT_LATEST
参数,正如 Steve 在评论中提到的。