ScanFilter (hérité) - Amazon DynamoDB

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.

ScanFilter (hérité)

Note

Dans la mesure du possible, nous vous recommandons d'utiliser les nouveaux paramètres d'expression plutôt que ces paramètres hérités. Pour de plus amples informations, veuillez consulter Utilisation d'expressions dans DynamoDB. Pour obtenir des informations précises sur le nouveau paramètre qui remplace celui-ci, utilisez FilterExpression à la place..

Dans une opération Scan, le paramètre conditionnel hérité ScanFilter est une condition qui évalue les résultats de l'analyse et renvoie uniquement les valeurs souhaitées.

Note

Ce paramètre ne prend pas en charge les attributs de type Liste ou Mappage.

Si vous spécifiez plusieurs conditions dans le mappage ScanFilter, par défaut, le résultat de toutes les conditions doit être true. En d'autres termes, les conditions sont associées à l'aide de l'opérateur logique AND (ET). Vous pouvez également utiliser le paramètre ConditionalOperator (hérité) pour dissocier les conditions à l'aide de l'opérateur logique OR (OU). Dans ce cas, au moins une des conditions doit avoir la valeur vrai, plutôt que toutes.

Chaque élément ScanFilter se compose d'un nom d'attribut à comparer, ainsi que de ce qui suit :

  • AttributeValueList - Une ou plusieurs valeurs à évaluer par rapport à l'attribut fourni. Le nombre de valeurs dans la liste dépend de l'opérateur spécifié dans ComparisonOperator.

    Pour le type Nombre, les comparaisons de valeurs sont numériques.

    Les comparaisons de valeurs de chaîne pour supérieur, égal ou inférieur sont basées sur le codage binaire UTF-8. Par exemple, a est supérieur à A, et a est supérieur à B.

    Pour le type Binaire, DynamoDB traite chaque octet des données binaires comme non signé lors de la comparaison de valeurs binaires.

    Pour plus d'informations sur la spécification des types de données en JSON, consultez API de bas niveau de DynamoDB.

  • ComparisonOperator - Comparateur pour l'évaluation d'attributs. Par exemple : égal à, supérieur à, et inférieur à.

    Les opérateurs de comparaison pris en charge sont les suivants :

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

Utiliser FilterExpression à la place – Exemple

Supposons que vous vouliez analyser la table Music et appliquer une condition aux éléments correspondants. Vous pourriez utiliser une requête Scan avec un paramètre ScanFilter comme dans cet exemple d'AWS CLI :

aws dynamodb scan \ --table-name Music \ --scan-filter '{ "Genre":{ "AttributeValueList":[ {"S":"Rock"} ], "ComparisonOperator": "EQ" } }'

Vous pouvez utiliser FilterExpression à la place :

aws dynamodb scan \ --table-name Music \ --filter-expression 'Genre = :g' \ --expression-attribute-values '{ ":g": {"S":"Rock"} }'