web-dev-qa-db-ja.com

dynamodbソートキーのみでクエリする方法は?

私はいくつかのpythonコードを記述しました。ソートキーでdynamoDBデータをクエリしたいのです。フォローアップコードを正常に使用できることを覚えています:

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

テーブル構造列

primary key:event_id
sort key: event_status
14
scott

単独でクエリを実行するには、並べ替えキーのセカンダリインデックスを作成する必要があります。

6
man2xxl

ハッシュキー属性値を使用せずにDynamoDBからデータを取得する場合は、スキャンAPIを使用する必要があります。

例:-

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))
5
notionquest