DynamoDB Streams - 流描述中的分片是否有顺序?

0

【以下的问题经过翻译处理】 我知道流中的项目是有序的。我的主要问题在于流描述中的分片是否有序。如果它们有序,我可以随时获取最新的分片并从那里处理记录;否则,我需要记录已处理的分片,以便在获取流描述的下一次迭代中仅获取新的分片 - 即,在当前分片关闭并且我必须退出用于该分片的getRecords循环之后。

进一步的背景:

我已经完成了一项KCL实现,但正在考虑进行更低级别的实现,因为那似乎更适合我们的特定需求。最终,我只需从表中获取最新记录(在所有服务节点之间广播)。话说回来,我的快速问题如下:从DescribeStreamResult.getShards()返回的分片列表是否有序?(我假设这遵循一般的描述流API,但尚未看到任何指示这个列表是否有序的内容。)

profile picture
EXPERTE
gefragt vor 5 Monaten35 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 DynamoDB Streams API与Kinesis Streams有一定相似之处(源自此处的文档https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.KCLAdapter.html)。此外,文档中也声明:使用Kinesis Adapter是从DynamoDB消费Streams的推荐方式。Kinesis的API文档https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.html(DescribeStream)中声明,无法保证按照时间顺序返回的shard是有序的。如果您希望按照时间顺序处理shard,请使用ParentShardId跟踪到最早的shard。DynamoDB的DescribeStream API包含parentSharedIdhttps://docs.aws.amazon.com/amazondynamodb/latest/APIReference/Welcome.html#DDB-Type-Shard-ParentShardId和SequenceNumberRange。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen