使用Java Dynamodb通过非主键获取数据

时间:2018-12-31 18:06:05

标签: java amazon-web-services amazon-dynamodb aws-sdk aws-java-sdk

我刚刚开始在AWS中使用DyanamoDB。我正在使用Java实现lambda函数。我想要从等效于以下SQL的表中获取数据的方法。

SELECT * 
FROM UserTable U WHERE 
U.email='sample@email.com' AND U.name LIKE 'Ste%';

其中电子邮件和姓名中的任何一个都不是主键。

但是我仍然找不到直接的方法。 我发现我们必须知道主键值才能查询数据。 AWS documentations也无济于事。有人可以帮我举个例子吗?

2 个答案:

答案 0 :(得分:1)

您只能在DynamoDB中查询主键或索引。

您要么不得不在其他字段上add indexes,要么执行效率低下的scan operation才能通过其他字段查找DynamoDB文档。

答案 1 :(得分:0)

查询dynamo db的最有效方法是使用主键,如果确实需要使用非主键查询,则考虑使用dynamo DB索引,您可以在现有表上创建索引,这将使您的扫描操作更高效,

索引还允许您使用辅助键查询dynamoDB

要了解有关索引的更多信息,请访问此链接

Indexes in dynamoDB