web-dev-qa-db-fra.com

dynamodb comment interroger uniquement par clé de tri?

J'ai écrit du code python, je souhaite interroger les données dynamoDB par clé de tri. Je me souviens que je peux utiliser le code de suivi avec succès:

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

Ma colonne de structure de table

primary key:event_id
sort key: event_status
14
scott

Vous devez créer un index secondaire pour la clé de tri afin d'interroger sur elle seule.

6
man2xxl

L'API d'analyse doit être utilisée si vous souhaitez obtenir des données de DynamoDB sans utiliser la valeur d'attribut Hash Key.

Exemple: -

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