使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

为什么我的全局二级索引缺少我写入表中的新项目?

1 分钟阅读
0

我写入表中的项目不会出现在 Amazon DynamoDB 的相关全局二级索引 (GSI) 中。或者,从我写入项目到我可以在 GSI 中读取它们之间会有延迟。

解决方法

写入操作会在 1 秒内传播到 GSI。如果您等待几秒钟,但 GSI 仍未显示您的更新,请检查以下常见原因:

  • 包含许多项目的大型基表或单个表中的多个 GSI,这会导致传播延迟。
  • 添加到基表中但没有 GSI 主键值的项目。 
    **注意:**这些项目未出现在索引中,因为 GSI 是稀疏索引。

要解决高传播延迟问题,请将您的 AWS SDK 配置为使用指数回退算法。然后,在索引上重试查询或扫描操作。指数回退为索引提供了显示写入操作的时间,并减少了所需的重试总数。

对于采用预置容量模式的表,写入容量低于其基表的索引可能会导致传播延迟。要解决此问题,请使用 UpdateTable API 使索引写入容量等于或大于基表容量。

相关信息

表和全局二级索引之间的数据同步

AWS 官方
AWS 官方已更新 2 个月前