Récupérer tous les éléments de DynamoDB à l'aide d'une requête?
Je suis en train de récupérer tous les éléments dans une table dynamodb l'aide d'une requête. Ci-dessous mon code:
import boto.dynamodb2
from boto.dynamodb2.table import Table
from time import sleep
c = boto.dynamodb2.connect_to_region(aws_access_key_id="XXX",aws_secret_access_key="XXX",region_name="us-west-2")
tab = Table("rip.irc",connection=c)
x = tab.query()
for i in x:
print i
sleep(1)
Cependant, j'obtiens l'erreur suivante:
ValidationException: ValidationException: 400 Bad Request
{'message': 'Conditions can be of length 1 or 2 only', '__type': 'com.amazon.coral.validate#ValidationException'}
Le code que j'ai est assez simple et de le boto dynamodb2 docs, donc je ne sais pas pourquoi j'obtiens l'erreur ci-dessus. Toutes les suggestions seraient appréciées (cette nouvelle et un peu perdu). Grâce
EDIT: j'ai à la fois une clé de hachage et une gamme de clé. Je suis capable de faire une requête par des clés de hachage. Par exemple,
x = tab.query(hash__eq="2014-01-20 05:06:29")
Comment puis-je récupérer tous les éléments?
OriginalL'auteur dlaser | 2014-02-02
Vous devez vous connecter pour publier un commentaire.
Ahh ok, compris. Si quelqu'un a besoin:
Vous ne pouvez pas utiliser la méthode de requête sur une table sans indication spécifique de la clé de hachage. La méthode à utiliser à la place l'analyse. Donc si je remplace:
avec
Je reçois tous les éléments dans mon tableau.
le balayage est une solution raisonnable pour les petites tables. Source: docs.aws.amazon.com/amazondynamodb/latest/developerguide/...
OriginalL'auteur dlaser
Je suis sur groovy, mais il va vous déposer un soupçon. Erreur :
est vous dire que votre condition clé peut être de longueur 1 -> hashKey seulement ou de longueur 2 -> hashKey + rangeKey. Tous ce qui est dans une requête sur un sommet de touches de provoquer cette erreur.
La raison de cette erreur est la suivante: vous essayez d'exécuter de recherche requête, mais à l'aide de condition clé requête. Vous devez ajouter séparés filterCondition pour effectuer votre requête.
Mon code
OriginalL'auteur Вадим
C'est comment je fais une requête si quelqu'un a encore besoin d'un solution:
OriginalL'auteur Adithya