2015-04-12 90 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

相關問題