使用 java 中的范围键从 DynamoDB 获取项目

GetItem from DynamoDB using range key in java

我创建了一个名为 orders 的 dynamodb table。我的分区键(哈希键)是 orderId 排序键(范围键)是 storeId.

我可以使用这两个键将记录放入我的 table。但是现在 我有一个要求,我需要从数据库 中获取所有值,其中 storeId 可以是值列表。但是,我没有在 java 中看到任何使用 范围键 获取值的 api。有人可以帮我解决这个问题吗?

从 DynamoDB 获取数据时,您可以使用两种方法; queryscan.

query 操作用于当您想要通过主键查找项目时。在您的示例中,这意味着您知道 orderIdstoreId(或只是 orderId

scan 操作用于当您想要使用分区键以外的属性获取数据时。这是您需要用来通过 storeId.

获取项目的内容

但是,您可能会看到尽可能避免 scan 操作的建议。这是因为 scan 操作必须读取整个数据库才能获取感兴趣的项目。为避免这种情况,您可以在 storeId 字段上引入全局二级索引,这将允许您使用 query 操作通过 storeId 获取项目。