带有FilterExpression的AWS Dynamodb BatchGet

时间:2018-04-27 23:03:34

标签: amazon-web-services amazon-dynamodb

我想根据一些过滤器从dynamodb表中检索项目列表。在过滤器中,我有我的散列键列表(应该返回其中一个散列键的记录)和记录上的更多过滤器,例如" status"有价值的字段"已批准"。因此,如果该项目具有我的列表中的哈希键,则状态字段值为"已批准"它应该被退回。
我怎样才能做到这一点 ?
我不能使用QUERY,因为根据我的理解,它只需要1个哈希键值。
我不能使用BatchGet,因为它不接受过滤器表达式。

1 个答案:

答案 0 :(得分:0)

您可以使用BatchGet来获取项目,并使用您自己的功能对其进行过滤。

Doc: Working with Query

  

Query操作最多可以检索1 MB的数据。在评估过滤器表达式之前,此限制适用。

如您所见,使用过滤器表达式无法帮助您检索更多数据,这也无法保存您的读取容量(金钱)。所以我认为在本地或服务器端过滤没有区别。

如果您希望发电机为您重复过滤数据,那么您可以尝试"multi-query"而不是BatchGet

以下是一些相关的参考资料What's the difference between BatchGetItem and Query in DynamoDB?