2015-04-12 56 views
1

我想查询dynamodb表。当我使用开始与运算符时,我收到以下错误。dynamodb查询:我可以使用开头的过滤器吗?

{u'Message ':u'All查询都必须对哈希键的条件,并 它的类型必须为均衡的' U '型__': u'com.amazon.coral.validate #ValidationException'}

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

这里place_name是全球第二索引

+0

如果'place_name'是'hash_key',查询不会喜欢这个工作。你也没有指定索引名称('index ='DateJoinedIndex'') – mkobit

回答

4

不论您是否正在查询表或索引,可以应用于散列键属性是EQ的唯一运营商。或者,您可以在Range键上使用BEGINS_WITH

对于表上的查询,您只能拥有表 主键属性的条件。您必须提供散列键属性名称 和值作为EQ条件。 [...]

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

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

相关问题