我正在尝试查询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
是全球二级索引
答案 0 :(得分:7)
无论您是查询表还是索引,唯一可以应用于哈希键属性的运算符是EQ
。或者,您可以在范围键上使用BEGINS_WITH
。
对于表的查询,您只能在表上具有条件 主键属性。您必须提供哈希键属性名称 和作为情商条件的价值。您可以选择提供一秒钟 条件,指的是范围键属性。[...]
对于索引的查询,您只能在索引键上具有条件 属性。您必须提供索引哈希属性名称和值 作为EQ条件。您可以选择提供第二个条件, 引用索引键范围属性。
来源:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html