为什么即使 PutItem 操作成功了,Amazon DynamoDB GetItem 仍不返回最新数据?

1 分钟阅读
0

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

解决方法

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

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

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

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


相关信息

PutItem

读取一致性

AWS 官方
AWS 官方已更新 2 年前