Query 占用的容量单位

您可对任何表或二级索引执行 Query 操作,前提是它具有复合主键(分区键和排序键)。Query 操作占用读取容量单位,如下所示。

如果对...进行 QueryDynamoDB 将占用...的读取容量单位
表的预置读取容量。
Global secondary index索引的预置读取容量。
本地二级索引基表的预置读取容量。

默认情况下,Query 操作不会返回任何有关它占用的读取容量大小的数据。但是,您可在 ReturnConsumedCapacity 请求中指定 Query 参数以获取此信息。下面是 ReturnConsumedCapacity 的有效设置:

  • NONE — 未返回任何已占用容量数据。(这是默认值。)

  • TOTAL — 响应包含占用的读取容量单位的总数。

  • INDEXES — 响应显示占用的读取容量单位的总数,以及访问的每个表和索引的占用容量。

DynamoDB 将基于项目大小而不是返回到应用程序的数据量来确定占用的读取容量单位数。因此,无论您是请求所有属性(默认行为)还是只请求部分属性(使用投影表达式),占用的容量单位数都是相同的。无论您是否使用筛选表达式,该数量也是相同的。

Query 的读取一致性

默认情况下,Query 操作将执行最终一致性读取。这意味着 Query 结果可能无法反映由最近完成的 PutItem 或 UpdateItem操作导致的更改。有关更多信息,请参阅读取一致性

如果您需要强一致性读取,请在 Query 请求中将 ConsistentRead 参数设置为 true

01-25 06:08