我正在使用DynamoDB .NET对象持久性模型来扫描具有以下条件的表。
public IEnumerable<Product> GetProducts(string attribute1Value, string attribute2Value
{
IEnumerable<Product> products = null;
try
{
RegionEndpoint region = RegionEndpoint.GetBySystemName("us-east-1");
AmazonDynamoDB client = new AmazonDynamoDBClient(account.AwsAccessKey, account.AwsSecretKey, region);
DynamoDBContext context = new DynamoDBContext(client);
products = context.Scan<Product>(
new ScanCondition("attribute1", ScanOperator.Equal, attribute1Value),
new ScanCondition("attribute2", ScanOperator.Equal, attribute2Value));
}
catch (AmazonServiceException ase)
{
log.Error("Amazon Service Exception, Message: " + ase.Message + ", request id: " + ase.RequestId);
}
catch (Exception e)
{
log.Error("Exception: " + e.Message);
}
return products;
}
当我使用DynamoDBContext时,当DynamoDB超过1 MB限制时,如何处理输出? 感谢
答案 0 :(得分:4)
如果达到1MB限制,DynamoDB将返回多页项目。 DynamoDBContext.Scan操作将自动分页结果集(延迟加载)。因此,从您的角度来看,没有什么需要做的,只需枚举IEnumerable对象,就会返回所有匹配的项目。