キャパシティー ユニットの計算に関するドキュメントによると、1 回のリクエストで最大 1MB のデータのみが分析されます。
スキャン操作の場合、スキャンによって返されたアイテムのサイズではなく、Amazon DynamoDB によって評価されたアイテムのサイズです。つまり、スキャンリクエストの場合、Amazon DynamoDB は最大 1 MB のアイテムを評価し、スキャン条件を満たすアイテムのみを返します。
1,000 個のアイテムのみを含むテーブルの場合、理論的には毎回すべてのテーブルを解析します。願わくば、'limit' パラメーター (最大値は 100) を使用してプロセスを早期に停止し、多くてもlimit
アイテムが返されるようにします。
リクエストに条件がない場合、スキャンされたアイテムの数は結果の数になります。それ以外の場合は、はるかに大きくなる可能性がありますが、スキャンされたアイテムの累積サイズは 1 MB の境界を超えることはできません。
スキャンされた操作の場合、Amazon はユーザーが消費したと見なします
consumed_capacity = math.ceil(sum(parsed_data_size)/1KB)
しかし、私の言葉を鵜呑みにしないでください。
import boto
db = boto.connect_dynamodb()
# Notice the "layer1" operation
res = db.layer1.scan('MyTable', attributes_to_get=['id'], limit=10)
print res['ScannedCount']