Amazon dynamodb dynamodb扫描表格
我在dynamodb中有一个表,服务器一直在向表中写入数据。 同时,我使用另一个工作线程使用LastEvaluatedKey继续对该表执行扫描。我的问题是,扫描最终会从表中获取所有项目吗?由于其他线程每天都在向表中写入内容,它是否会错过任何项目 谢谢,Amazon dynamodb dynamodb扫描表格,amazon-dynamodb,aws-sdk,Amazon Dynamodb,Aws Sdk,我在dynamodb中有一个表,服务器一直在向表中写入数据。 同时,我使用另一个工作线程使用LastEvaluatedKey继续对该表执行扫描。我的问题是,扫描最终会从表中获取所有项目吗?由于其他线程每天都在向表中写入内容,它是否会错过任何项目 谢谢, 是的。在某些情况下,您可能会错过项目 在散列范围术语中,LastEvaluatedKey实际上是看到的最后一个范围值。dynamo按范围值对响应进行排序(如果是,则按数字排序;如果是字符串,则按str表示值对响应进行排序) 例如: 如果表格值为:
是的。在某些情况下,您可能会错过项目 在散列范围术语中,LastEvaluatedKey实际上是看到的最后一个范围值。dynamo按范围值对响应进行排序(如果是,则按数字排序;如果是字符串,则按str表示值对响应进行排序) 例如: 如果表格值为: 散列,范围 1、‘a’ 1,“b” 1,‘c’ 1,‘r’ 1,'x' 然后你的第一次扫描可以返回你((1,a),(1,b),(1,c),(1,r)) 这里您的最后一个EvaluatedKey是“r”,您的扫描将从此点继续 现在,如果一个新项目(1,d)插入到表中,它将插入(1,c)和(1,r)之间,您的扫描将丢失它,因为他从(1,r)继续,并将返回您(1,x) 因此,我向您推荐的最佳解决方案是: