.net Net限制使用';以'开头;

.net Net限制使用';以'开头;,.net,amazon-dynamodb,.net,Amazon Dynamodb,此代码使用Dynamo,但使用C#编码 我有一个使用扫描过滤器的扫描: Table table = Table.LoadTable(amazonClient, tableName); ScanFilter scanFilter = new ScanFilter(); scanFilter.AddCondition("HashString", ScanOperator.BeginsWith, index); Search search = table.Scan(scanFilter); // mo

此代码使用Dynamo,但使用C#编码

我有一个使用扫描过滤器的扫描:

Table table = Table.LoadTable(amazonClient, tableName);
ScanFilter scanFilter = new ScanFilter();
scanFilter.AddCondition("HashString", ScanOperator.BeginsWith, index);
Search search = table.Scan(scanFilter); // more code follows utilising the results
//索引是要搜索的字符串的值

//amazonClient只是AWS的参数

//tableName是表的名称

这可以正常工作,但我现在知道返回的项目数量可能很大,因此我需要限制任何返回页面中返回的值的数量,或者限制搜索的项目数量(不太需要),并获得LastKeyEvaluated。我的问题是,我看不出如何限制这种方法,如何得到LastKeyevaluated,最后,如果我得到LastKeyevaluated,如何得到下一组结果

我已经研究过使用ScanRequest,它似乎允许一个限制,但我不知道如何添加“BeginsWith”过滤器表达式?也不知道如何使用Laskey

如果能给我一个与.Net一起使用的建议,我将不胜感激

非常感谢


Ellie

当您调用table.Scan时,它实际上还没有执行扫描。它从AmazonDynamoDBClient设置下划线请求对象。在返回的搜索对象上,可以调用GetNextSet(),这相当于在AmazonDynamoDBClient上只调用一次Scan。如果再次调用GetNextSet,搜索对象将保持LastKeyEvaluated的状态,并在下一次调用时传递它