如何确定DynamoDB表是否为空?

时间:2017-04-28 20:36:58

标签: c# .net amazon-dynamodb

如何查看DynamoDB表是否包含使用.NET SDK的任何项目?

一个选项是执行Scan操作,并检查返回的Count。但扫描对于大型桌子来说可能是昂贵的,应该避免使用。

2 个答案:

答案 0 :(得分:2)

编辑:虽然以下似乎可以正常使用localhost上的小表,the docs

  

DynamoDB大约每六个小时更新一次此值。最近的更改可能不会反映在此值中。

所以,如果您不需要准确,最新的数据,请仅使用DescribeTable

原件:

看起来最好的方法是在DescribeTable上使用AmazonDynamoDBClient方法:

AmazonDynamoDBClient client = ...
if (client.DescribeTable("FooTable").Table.ItemCount == 0)
    // do stuff

答案 1 :(得分:2)

describe表计数不返回实时值。项目计数每6小时更新一次。

最好的方法是只扫描一次而不使用任何过滤器表达式并检查计数。这可能并不昂贵,因为您只扫描一次表并且它不会扫描整个表,因为您不需要递归扫描以查找该表是否有任何项目。

单次扫描仅返回1 MB数据。 如果用例需要实时值,则这是唯一可用的选项。