我有一个id列表,我想以有效的方式检查我的DynamoDB中存在哪些ID。
例如,我的ID列表可能是:
[1, 2, 3, 4, 5]
我的名为Cats的DynamoDB表具有以下内容:
{id: 1, name: 'cat1'}, {id: 3, name: 'cat3'}, {id: 5, name: 'cat5'}
我想通过一次调用知道我的DynamoDB中有1个,3个,5个。不确定这是否可以通过1次获取请求或者我是否需要获得5次获取。
答案 0 :(得分:2)
我认为答案取决于您的数据结构。
Query请求必须包含实体的id,因此无法执行1个查询请求并获取所有三个结果。
Scan个请求可以根据您的列表获取所有条目(或它们的过滤版本),但是,根据您的表的大小,从时间角度来看,该请求可能非常昂贵。
另一种选择可能是根据您的数据可能具有的其他语义创建secondary index并对其进行查询/扫描。
查看dynamodb Best Practices页面,了解您是否可以改进表格结构以方便操作。