当我往表中写入一条记录时,PutItem 返回成功的 HTTP 200 响应。不过,在我尝试通过读取请求获取该项目时,Amazon DynamoDB 不返回更新的记录。
解决方法
这种情况通常在您将某项目写入表中,然后立即使用最终一致性读取访问项目时发生。GetItem 默认提供最终一致性读取。如果您在稍后重复读取请求,响应应该会返回表中该项目的最新数据。
如果您想在写入请求成功以后尽快检索最新的数据,可以将 ConsistentRead 参数设置为 true。这样做将启用强一致性读取。注意以下与强一致性有关的事项:
- 强一致性读取的延迟可能更高。
- 全局二级索引不支持强一致性读取。
- 强一致性读取所需的吞吐量高达最终一致性读取的两倍。这意味着强一致性读取的成本也将高达最终一致性读取的两倍。有关更多信息,请参阅预置容量的定价或按需容量的定价。
要查看采用强一致性读取请求的示例,见 Retrieve item attributes。
相关信息
PutItem
读取一致性