我有一个包含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个容量单位从何而来。
有人能帮我理解吗?
来自文档:
Scan读取表中的所有项目。DynamoDB考虑被评估的项目的大小,而不是扫描返回的项目的大小。
因此,它是关于表中项目的实际总大小,而不是返回给您的内容的大小。