提问者:小点点

用于扫描操作的DynamoDB中的读取容量单位消耗


我有一个包含20个项目的DynamoDB表。每一项都由“id”(数字)和“state”(字符串)组成。“id”在从“1”到“20”的范围内。“状态”可以是字符串“活动”、“非活动”、“冻结”中的任何一个。我要调用Scan来获取所有项目

aws dynamodb scan --table-name test-table --return-consumed-capacity TOTAL

在我看到的回应中

ConsumedCapacity":{"CapacityUnits":2.0,"TableName":"test-table"}

我不明白。使用调试标志,我看到整个响应主体是929字节

...
'Content-Length': '929'
...

我的理解是DynamoDB应该将其四舍五入到1 KB,这意味着0.5个读取单位,而不是2个。根据留档

对于大小达4 KB的项目,一个读取容量单位表示每秒一次强一致读取,或每秒两次最终一致读取

我执行最终一致读取我的所有表都在4 KB以下,所以我不明白这2个容量单位从何而来。

有人能帮我理解吗?


共1个答案

匿名用户

来自文档:

Scan读取表中的所有项目。DynamoDB考虑被评估的项目的大小,而不是扫描返回的项目的大小。

因此,它是关于表中项目的实际总大小,而不是返回给您的内容的大小。