我们新创建了 kinesis 流,在尝试通过 Java 中的 KCL 连接时会导致以下错误,并且该流可用于动态放置记录。
java.lang.RuntimeException:com.amazonaws.services.kinesis.clientlibrary.exceptions.internal.KinesisClientLibIOException:碎片 [shardId-000000000000] 未关闭。如果我们在重新分片操作正在进行时构建分片列表,就会发生这种情况。
基于文档
它说工作人员将创建 while 并使用描述流来创建租约记录和表。
因此尝试了 aws kinesis describe-stream --stream-name name-of-the-stream 并产生
{
"StreamDescription": {
"Shards": [
{
"ShardId": "shardId-000000000000",
"HashKeyRange": {
"StartingHashKey": "0",
"EndingHashKey": "340282366920938463463374607431768211455"
},
"SequenceNumberRange": {
"StartingSequenceNumber": "49603537352759079517281897546367071275105924397167280130"
}
}
],
"StreamARN": "arn:aws:kinesis:us-west-2****",
"StreamName": "***",
"StreamStatus": "ACTIVE",
"RetentionPeriodHours": 24,
"EnhancedMonitoring": [
{
"ShardLevelMetrics": []
}
],
"EncryptionType": "NONE",
"KeyId": null,
"StreamCreationTimestamp": 1579767966.0
}
}
但是,同一区域下的 dynamo DB 中的租约表缺失。任何建议都会有所帮助。
提前致谢。