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éritage)
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 FilterExpressionplutôt..
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 ANDed réunies. Vous pouvez également utiliser le paramètre ConditionalOperator (héritage) 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é dansComparisonOperator
.Pour le type Nombre, les comparaisons de valeurs sont numériques.
Les comparaisons de valeurs de chaînes supérieures, égales ou inférieures à sont basées sur le codage binaire UTF -8. Par exemple,
a
est supérieur àA
, eta
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 dansJSON, consultezDynamoDB de bas niveau API.
-
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 à FilterExpressionla 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"} }'