相当于select而不在DynamoDB中传递主键的查询?

时间:2017-11-30 07:57:44

标签: python mysql amazon-web-services amazon-dynamodb boto3

与DynamoDB中的以下查询相同:

select field1,fields2 from table_name where filter1 == 'filter_value'

请注意,filter1不是主键,它可以是表格中的任何列。

根据我的阅读,我知道可以使用scan()操作实现,但它将返回整个数据而不仅仅是我们指定的字段。
此外,我已经读过任何地方我们应该避免使用scan(),因为它是繁重的操作(扫描整个表)。

1 个答案:

答案 0 :(得分:1)

使用AWS命令行界面,您可以这样做

aws dynamodb scan \
     --table-name table_name\
     --projection-expression "field1,fields2" \
     --filter-expression "filter1 = :filter_value"\

扫描始终读取数据库中的每一行。过滤器表达式只会限制返回给您的内容。默认情况下,您会获得每个项目的所有属性(“列”),但您可以使用投影表达式来限制它。

在搜索索引属性时可以使用查询。

有关信息,请查看scansquery

上的文档