Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Expressions de filtre pour l'opération Query dans DynamoDB
Si vous avez besoin d'affiner davantage les résultats de l'opération Query
, vous pouvez fournir une expression de filtre facultative. Une expression de filtre détermine les éléments dans les résultats de Query
qui doivent vous être renvoyés. Tous les autres résultats sont ignorés.
Une expression de filtre est appliquée après la fin de l'opération Query
, mais avant que les résultats soient renvoyés. Par conséquent, une opération Query
utilise la même capacité de lecture, qu'une expression de filtre soit présente ou non.
Une opération Query
peut extraire au maximum 1 Mo de données. Cette limite s'applique avant que l'expression de filtre soit évaluée.
Une expression de filtre ne peut pas contenir d'attributs de clé de partition ou de clé de tri. Vous devez préciser ces attributs dans l'expression de condition de clé, pas dans l'expression de filtre.
La syntaxe d'un expression de filtre est similaire à celle d'une expression de condition de clé. Les expressions de filtre peuvent utiliser les mêmes comparateurs, fonctions et opérateurs logiques qu'une expression de condition de clé. En outre, les expressions de filtre peuvent utiliser l'opérateur non égal (<>
), l'opérateur OR
, l'opérateur CONTAINS
, l'opérateur IN
, l'opérateur BEGINS_WITH
, l'opérateur BETWEEN
, l'opérateur EXISTS
et l'opérateur SIZE
. Pour plus d’informations, consultez Expressions de conditions clés pour l'opération Query dans DynamoDB et Syntaxe des expressions de filtre et de condition.
Exemple
L' AWS CLI exemple suivant interroge la Thread
table pour une ForumName
(clé de partition) et une Subject
(clé de tri) particulières. Parmi les éléments trouvés, seules les unités d’exécution de discussion les plus populaires sont renvoyés, c'est-à-dire les threads ayant plus qu'un certain nombre de Views
.
aws dynamodb query \ --table-name Thread \ --key-condition-expression "ForumName = :fn and Subject begins_with :sub" \ --filter-expression "#v >= :num" \ --expression-attribute-names '{"#v": "Views"}' \ --expression-attribute-values file://values.json
Les arguments de la fonction --expression-attribute-values
sont stockés dans le fichier values.json
.
{ ":fn":{"S":"Amazon DynamoDB"}, ":sub":{"S":"DynamoDB Thread 1"}, ":num":{"N":"3"} }
Notez que Views
étant un mot réservé dans DynamoDB (consultez Mots réservés dans DynamoDB), cet exemple utilise #v
comme espace réservé. Pour de plus amples informations, veuillez consulter Noms d'attributs d'expression (alias) dans DynamoDB.
Note
Une expression de filtre supprime des éléments du jeu de résultats de Query
. Dans la mesure du possible, évitez d'utiliser Query
lorsque vous pensez extraire un grand nombre d'éléments mais que vous devrez en supprimer une grande partie.