有条件地向DynamoDb全局二级索引添加/删除记录



我有一个基本DDB表Attachment,它有两个字段称为customerStateisIntermediateState

customerState为AttachingDetachingAttachedDetached。isIntermediateState可以是1(如果customerState == Attaching || Detaching)或0(如果customerState == Attached || Detached)。

customerState将从attach/Detaching ->附加/分离。

现在我想构建一个GSI,如果isIntermediateState = 1,我只想从基本Attachment表中添加记录,并在isIntermediateState = 0或customerState变为Attached || Detached时(最终)删除记录。

GSI在DynamoDb允许有条件地添加和删除记录的基础上,在基表中的字段值的索引?此外,它是否会在基表更新时继续更新索引,还是仅在最初添加记录时更新索引,是否会决定是否添加到索引中?

没有基于表达式的条件投影。你可以有一个稀疏的GSI分区键属性,它只存在于你决定填充它的项目上,基于任何你喜欢的逻辑。

属性存在吗?转到GSI。属性不存在吗?不去GSI。

所以基本上是给那些其他值表明它应该在GSI中的项目添加一个GSI1PK属性。

相关内容

  • 没有找到相关文章

最新更新