Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
QueryFilter (Vermächtnis)
Anmerkung
Es wird empfohlen, nach Möglichkeit die neuen Ausdrucksparameter anstelle der alten Parameter zu verwenden. Weitere Informationen finden Sie unter Verwenden von Ausdrücken in DynamoDB. Spezifische Informationen zu dem neuen Parameter, der diesen ersetzt, finden Sie unter FilterExpressionstattdessen verwenden..
In einer Query
-Operation handelt es sich bei dem alten Bedingungsparameter QueryFilter
um eine Bedingung, die die Abfrageergebnisse auswertet, nachdem die Elemente gelesen wurden, und die nur die gewünschten Werte zurückgibt.
Dieser Parameter unterstützt keine Attribute vom Typ Liste oder Zuordnung.
Anmerkung
Ein QueryFilter
wird angewendet, nachdem die Elemente gelesen wurden. Der Filterprozess belegt keine zusätzlichen Lesekapazitätseinheiten.
Wenn Sie mehr als eine Bedingung im QueryFilter
-Mapping angeben, müssen alle Bedingungen standardmäßig mit True ausgewertet werden. Mit anderen Worten, die Bedingungen werden mithilfe des Operators kombiniert. AND
(Sie können dasConditionalOperator (Vermächtnis)-Parameter auf ODER zu den Bedingungen verwenden. In diesem Fall müssen nicht alle, sondern mindestens eine der Bedingungen mit True ausgewertet werden.)
Hinweis: QueryFilter
lässt keine Schlüsselattribute zu. Sie können keine Filterbedingung für einen Partitionsschlüssel oder Sortierschlüssel definieren.
Jedes QueryFilter
-Element besteht aus einem zu vergleichenden Attributnamen zusammen mit Folgendem:
-
AttributeValueList
– Ein oder mehrere Werte, die anhand des angegebenen Attributs ausgewertet werden sollen. Die Anzahl der Werte in der Liste hängt von dem inComparisonOperator
angegebenen Operator ab.Beim Zahlentyp sind Wertevergleiche numerisch.
Vergleiche von Zeichenkettenwerten für größer als, gleich oder kleiner als basieren auf der UTF Binärcodierung -8. Beispiel:
a
ist größer alsA
unda
ist größer alsB
.Beim Binärtyp betrachtet DynamoDB jedes Byte der Binärdaten beim Vergleichen der binären Werte ohne Vorzeichen.
Hinweise zur Angabe von Datentypen in finden Sie JSON unter. DynamoDB auf niedriger Ebene API
-
ComparisonOperator
– Ein Vergleichsoperator zum Auswerten der Attribute. Zum Beispiel: ist gleich, größer als, kleiner als.Die folgenden Vergleichsoperatoren sind verfügbar:
EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN
FilterExpressionStattdessen verwenden — Beispiel
Angenommen, Sie möchten die Tabelle Music abfragen und wenden eine Bedingung auf die übereinstimmenden Elemente an. Sie können eine Query
-Anforderung mit dem Parameter QueryFilter
wie in diesem AWS CLI -Beispiel verwenden:
aws dynamodb query \ --table-name Music \ --key-conditions '{ "Artist": { "ComparisonOperator": "EQ", "AttributeValueList": [ {"S": "No One You Know"} ] } }' \ --query-filter '{ "Price": { "ComparisonOperator": "GT", "AttributeValueList": [ {"N": "1.00"} ] } }'
Sie können stattdessen FilterExpression
verwenden.
aws dynamodb query \ --table-name Music \ --key-condition-expression 'Artist = :a' \ --filter-expression 'Price > :p' \ --expression-attribute-values '{ ":p": {"N":"1.00"}, ":a": {"S":"No One You Know"} }'