Comment obtenir le nombre de lignes d'une table instantanément dans DynamoDB?
Je suis en utilisant boto.dynamodb2
, et il semble que je peux utiliser Table.query_count()
. Cependant, il avait soulevé une exception lorsqu'aucune requête n'filtre est appliqué.
Que puis-je faire pour résoudre ce problème?
BTW, où est le document de filtres qui boto.dynamodb2.table.Table.Query
pouvez utiliser? J'ai essayé de chercher mais rien trouvé.
OriginalL'auteur kxxoling | 2015-07-13
Vous devez vous connecter pour publier un commentaire.
Il y a deux façons d'obtenir un nombre de lignes dans DynamoDB.
La première est d'effectuer un full table scan et à compter les lignes que vous allez. Pour un tableau de taille raisonnable, ce qui est généralement un horrible idée pour consommer la totalité de votre approvisionné débit de lecture.
L'autre moyen est d'utiliser le Décrire Le Tableau demande pour obtenir une estimation du nombre de lignes dans la table. Cela permettra de revenir instantanément, mais ne seront mis à jour périodiquement par l'AWS documentation.
Pas de. AWS permettra de mettre à jour le nombre de lignes toutes les 6 heures automatiquement pour vous. Si vous voulez plus de précision le nombre de lignes, vous pouvez tenter de garder une trace du nombre de lignes en dehors de la table, comme dans une autre table DynamoDB, mais qui présente son propre ensemble de problèmes.
AWS ne sera pas mise à jour, même si j'ai juste a numérisé l'ensemble de la table?
Pas de. Cette valeur va être mis à jour par AWS périodiquement et à l'heure actuelle il n'existe aucun moyen de forcer n'importe quel type de mise à jour.
comment peut-il être fait avec une condition? doit une analyse de table, utiliser alors?
OriginalL'auteur JaredHatfield
Selon la documentation boto3
"Le nombre d'éléments dans la table spécifiée. DynamoDB les mises à jour de cette valeur environ toutes les six heures. Les récentes modifications peuvent ne pas être reflétée dans cette valeur."
ou vous pouvez utiliser DescribeTable:
OriginalL'auteur Strabek
Si vous voulez compter le nombre d'éléments:
Ref: Boto3 de la Documentation (sous ItemCount dans describe_table())
OriginalL'auteur Hari K
Vous pouvez utiliser cette, pour obtenir le comte de l'ensemble des éléments de tableau
Reportez-vous ici: http://boto.cloudhackers.com/en/latest/ref/dynamodb2.html#module-boto.dynamodb2.table
query_count méthode retourne le nombre d'éléments fondés sur les indices que vous fournissez.
Par exemple,
Vous pouvez ajouter l'index primaire ou global index secondaires le long avec la gamme de clés.
possible pour les opérateurs de comparaison
__eq pour l'égalité des
__lt pour les moins de
__gt pour plus de
__gte pour supérieur ou égal
__lte pour inférieur ou égal
__entre pour entre
__beginswith commence avec
Exemple entre
OriginalL'auteur theBuzzyCoder