我想根据一些过滤器从dynamodb表中检索项目列表。在过滤器中,我有我的散列键列表(应该返回其中一个散列键的记录)和记录上的更多过滤器,例如" status"有价值的字段"已批准"。因此,如果该项目具有我的列表中的哈希键,则状态字段值为"已批准"它应该被退回。
我怎样才能做到这一点 ?
我不能使用QUERY,因为根据我的理解,它只需要1个哈希键值。
我不能使用BatchGet,因为它不接受过滤器表达式。
答案 0 :(得分:0)
您可以使用BatchGet
来获取项目,并使用您自己的功能对其进行过滤。
Query操作最多可以检索1 MB的数据。在评估过滤器表达式之前,此限制适用。
如您所见,使用过滤器表达式无法帮助您检索更多数据,这也无法保存您的读取容量(金钱)。所以我认为在本地或服务器端过滤没有区别。
如果您希望发电机为您重复过滤数据,那么您可以尝试"multi-query"
而不是BatchGet
。
以下是一些相关的参考资料What's the difference between BatchGetItem and Query in DynamoDB?