dynamodb查询:我可以使用beginwith filter吗?

时间:2015-04-12 16:52:36

标签: amazon-web-services amazon-dynamodb boto

我正在尝试查询dynamodb表。当我使用begin with运算符时,我收到以下错误。

  

{u'Message':你们所有的查询都必须对哈希键有条件,并且   它必须是EQ',u'__ type'类型:   u'com.amazon.coral.validate#ValidationException'}

result_set = tb_places.query_2(
    place_name__beginswith="ame",
)

此处place_name是全球二级索引

1 个答案:

答案 0 :(得分:7)

无论您是查询表还是索引,唯一可以应用于哈希键属性的运算符是EQ。或者,您可以在范围键上使用BEGINS_WITH

  

对于表的查询,您只能在表上具有条件   主键属性。您必须提供哈希键属性名称   和作为情商条件的价值。您可以选择提供一秒钟   条件,指的是范围键属性。[...]

     

对于索引的查询,您只能在索引键上具有条件   属性。您必须提供索引哈希属性名称和值   作为EQ条件。您可以选择提供第二个条件,   引用索引键范围属性。

来源:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html