L'interrogation la plus grande valeur de la Plage de la clé sur AWS DynamoDb
Quel est le DynamoDB équivalent de
SELECT MAX(RANGE_KEY) FROM MYTABLE WHERE PRIMARYKEY = "value"
Du mieux que je peux venir avec est
from boto.dynamodb2.table import Table as awsTable
tb = awsTable("MYTABLE")
rs = list(tb.query_2(PRIMARYKEY__eq="value", reverse=True, limit=1))
MAXVALUE = rs[0][RANGE_KEY]
Est-il une meilleure façon de le faire?
c'est le chemin à parcourir.
OriginalL'auteur Vishal | 2014-08-23
Vous devez vous connecter pour publier un commentaire.
Qui est de la bonne manière.
Parce que les enregistrements appariés par la Clé de Hachage sont triés par la Gamme de la Clé, l'obtention de la première par le descendant de commande vous donnera l'enregistrement avec la portée maximale de la clé.
De requête et d'Analyse des Opérations - Amazon DynamoDB : http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html
REMARQUE: le Réglage de la
reverse
paramètre à true par boto API est équivalent à définirScanIndexForward
à faux par le natif d'API AWS.Oui , la "limite" paramètre 1: "La DynamoDB de Requête et d'Analyse des Api permettent à une valeur Limite pour limiter la taille des résultats."
J'ai posté une question here. En fait, cela ne fonctionne pas. J'ai eu à utiliser queryPage de DynamoDBMapper
Ce serait l'équivalent de la syntaxe dans boto3? Si tous mes hashkeys sont les mêmes que la requête retourne l'ensemble de la table, mais triés. Ne semble pas être efficace. Est-ce toujours le moyen de le faire, il boto3?
OriginalL'auteur
Si quelqu'un en regardant comment le faire avec Java:
Salut j'ai un semblable cas d'utilisation, j'ai 1 doute, si vous interrogez par clé primaire, d'autres filtres ne sont pas utiles, alors?
Je suppose que la clé primaire est un peu déroutant, c'est une clé de hachage, ce qui n'est pas unique. La clé primaire est composée de hachage et rangekey combinaison
OriginalL'auteur
Dans boto3 vous pouvez le faire de cette façon:
sortie contient la ligne associée à la valeur Max de la gamme entre le début et la fin. Pour Min de changement de valeur de la
ScanIndexForward
àTrue
OriginalL'auteur