2017-02-21 5 views
2

私はいくつかのpythonコードを書いた、私はsortoキーでdynamoDBデータを照会したい。 私は成功したフォローアップのコードを使用することができます覚えている:あなたはハッシュキー属性を使用せずに、DynamoDBのからデータを取得したい場合はスキャンAPIを使用すべきである私のテーブル構造列dynamodbソートキーのみで照会する方法は?

primary key:event_id 
sort key: event_status 

答えて

2

table.query(KeyConditionExpression=Key('event_status').eq(event_status)) 

を値。

例: - 走査がクエリと同じではないこと

fe = Attr('event_status').eq("new"); 

response = table.scan(
     FilterExpression=fe   
    ) 

for i in response['Items']: 

print(json.dumps(i, cls=DecimalEncoder)) 

while 'LastEvaluatedKey' in response: 
    response = table.scan(  
     FilterExpression=fe,   
     ExclusiveStartKey=response['LastEvaluatedKey'] 
     ) 

    for i in response['Items']: 
     print(json.dumps(i, cls=DecimalEncoder)) 
+2

注意。すべての値を繰り返し処理するので、クエリよりも効率が低くなります。 '' event_status''を効率的に照会する必要がある場合は、そのフィールドのGSIを作成することを検討してください。 – garnaat

関連する問題