我的 Amazon DynamoDB PutItem 操作成功了,但 GetItem 不返回最新的数据

上次更新时间:2020 年 7 月 9 日

当我往表中写入一条记录时,PutItem 返回成功的 HTTP 200 响应。不过,在我尝试通过读取请求获取该项目时,Amazon DynamoDB 不返回更新的记录。

解决方法

这种情况通常在您将某项目写入表中,然后立即使用最终一致性读取进行访问时发生。GetItem 默认提供最终一致性读取。如果您在稍后重复读取请求,响应应该会返回更新的记录。

若您想在写入请求成功以后尽快检索最新的数据,可以将 ConsistentRead 参数设置为 true。这样做将启用强一致性读取。注意以下与强一致性有关的事项:

  • 强一致性读取的延迟可能更高。
  • 全局二级索引不支持强一致性读取。
  • 强一致性读取所需的吞吐量高达最终一致性读取的两倍。这意味着强一致性读取的成本也将高达最终一致性读取的两倍。如需更多信息,见预置容量的定价按需容量的定价

要查看采用强一致性读取请求的示例,见 Retrieve item attributes


这篇文章对您有帮助吗?


您是否需要账单或技术支持?