是否有方法返回DynamoDB表中某个属性(列(的所有值?这个运算实际上和ScanAll
运算的计算成本一样吗?
我有一个足够大的表,我不打算返回它的所有值,但只需要其中一个属性中的一些值。我担心,如果我做ScanAll
操作,然后减少数据,或者Query
,操作成本将是相同的。我想象的工作流程是,首先,读取所有记录,接收一个blob对象,然后剪切它以获得有问题的属性。
根据文档:GetItem返回项目的所有属性。可以使用投影表达式仅返回某些属性
话虽如此,Projection Expression
是一个字符串,用于标识您想要的属性。若要检索单个属性,请指定其名称。对于多个属性,名称必须以逗号分隔。
aws dynamodb get-item
--table-name ProductCatalog
--key file://key.json
--projection-expression "Description, RelatedItems[0], ProductReviews.FiveStar"
--key
的自变量存储在key.json
文件中。
这里有完整的文档。