2016-01-24 1 views
0

J'utilise DynamoDB via Python (Boto3), en essayant d'effectuer un simple scan de table mais en obtenant 0 résultats. Quand je suis en train d'utiliser le même filtre d'analyse sur la console AWS, il retourne le bon nombre de résultats ..DynamoDB scan simple - obtenir 0 résultats

mon code de demande:

response = table.scan(
      FilterExpression=Attr('datetime').eq(1453630770) 
     ) 

Note: l'attribut « datetime » est un nombre saisissez

Note2: scan de table sans params ont produit correctement

résultats

Qu'est-ce que je fait de mal? Merci Duders

Répondre

1

D'accord, trouvé la réponse - apparemment, j'ai atteint la taille de réponse max (gros objets) et fixé par itérer tableau DynamoDB en utilisant « LastEvaluatedKey »

Quelques séries de scans ont donné tous les résultats correctement.

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

Plus d'infos ici: http://docs.aws.amazon.com/amazondynamodb/latest/gettingstartedguide/GettingStarted.Python.04.html

quelqu'un Hope sera utile.