如何查看DynamoDB表是否包含使用.NET SDK的任何项目?
一个选项是执行Scan
操作,并检查返回的Count。但扫描对于大型桌子来说可能是昂贵的,应该避免使用。
答案 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数据。 如果用例需要实时值,则这是唯一可用的选项。