如何在运行时从 DynamoDB 获取排序结果

Posted

技术标签:

【中文标题】如何在运行时从 DynamoDB 获取排序结果【英文标题】:How to get a sorted result from DynamoDB at runtime 【发布时间】:2020-05-17 03:57:53 【问题描述】:

我有一个包含很多字段的 dynamoDB 表。有没有办法对其进行查询并接收根据用户在运行时使用 AWS SDK for java 选择的特定字段排序的结果?

我知道.withScanIndexForward() 允许定义它是升序还是降序,但我想告诉每次请求查询时要对哪一列进行排序。

【问题讨论】:

【参考方案1】:

不,DynamoDB 不支持通用的“按列名排序”功能。

DynamoDB 表是键/值,其中键值必须是唯一的。键可以是单个分区键或分区键和排序键的组合。您还可以创建二级索引。

如果您希望 DynamoDB 支持按特定属性(列)排序的查询,那么您需要创建一个支持它的 Global Secondary Index (GSI)。然后就可以查询GSI了。

如果没有支持的 GSI,您将不得不在客户端对查询结果进行排序。

【讨论】:

这就是我想知道的一切。谢谢!

以上是关于如何在运行时从 DynamoDB 获取排序结果的主要内容,如果未能解决你的问题,请参考以下文章

c# - 如何在运行时从模块代码中获取 PowerShell 模块版本

如何在运行时从 nhibernate 映射文件生成实体类

使用 golang 从 DynamoDB 获取记录时出现紧急运行时错误

如何在对 aws dynamodb 表的查询中获取所有结果?

在运行时从 Android 主题获取默认属性值?

sh 用于获取AWS DynamoDB Local实例的快速运行脚本