DynamoDB GSI - 仅包含一些行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DynamoDB GSI - 仅包含一些行相关的知识,希望对你有一定的参考价值。

DynamoDB有没有办法在全局二级索引中只包含一些行?例如,我希望得到一个属性的列表,其中包含一个属性,表明它是否处于活动状态。如果它处于活动状态,我希望它显示在GSI中,但如果它不活动,则根本不需要进行预测。这可能吗?

答案

从我的测试来看,似乎你可以使用null作为范围键,不会投影没有该属性的行。

另一答案

GSI是稀疏索引,这意味着如果项目上不存在GSI的已定义分区和排序键,则它将不存在于GSI中。

另外,请记住GSI中的分区键和排序键不需要像基表一样唯一。 GSI没有强制执行唯一性

不知道您的数据模型,您可以使用仅存在于GSI的Key Schema中的活动项目上的属性。

这可能会提供更多信息:https://www.abhayachauhan.com/2017/12/dynamodb-global-secondary-indexes

HTH

以上是关于DynamoDB GSI - 仅包含一些行的主要内容,如果未能解决你的问题,请参考以下文章

通过 updateTable 创建多个 GSI - DynamoDB

使用 spring-data-dynamodb 在 GSI 中查询 dynamoDB 中的 id 列表

Dynamodb 我可以用两个 GSI 查询吗?

无法使用 CloudFormation 将 GSI 添加到 DynamoDB 表

我们可以通过 AWS SDK 使用 GSI 删除 DynamoDB 中的项目吗?

使用 Amplify 库的基于 DynamoDB GSI 的查询