ScanFilter (veraltet) - Amazon-DynamoDB

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.

ScanFilter (veraltet)

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 verwenden Sie stattdessen FilterExpression..

In einer Scan-Operation handelt es sich bei dem alten Bedingungsparameter ScanFilter um eine Bedingung, die die Abfrageergebnisse auswertet und die nur die gewünschten Werte zurückgibt.

Anmerkung

Dieser Parameter unterstützt keine Attribute vom Typ Liste oder Zuordnung.

Wenn Sie mehr als eine Bedingung im ScanFilter-Mapping angeben, müssen alle Bedingungen standardmäßig mit True ausgewertet werden. Anders ausgedrückt, die Bedingungen werden durch UND verknüpft. (Sie können das ConditionalOperator (veraltet)-Parameter auf ODER zu den Bedingungen verwenden. In diesem Fall müssen nicht alle, sondern mindestens eine der Bedingungen mit True ausgewertet werden.)

Jedes ScanFilter-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 in ComparisonOperator angegebenen Operator ab.

    Beim Zahlentyp sind Wertevergleiche numerisch.

    Vergleiche von Zeichenfolgenwerten für größer als, gleich oder kleiner als basieren auf UTF-8-Binärkodierung. Beispiel: a ist größer als A und a ist größer als B.

    Beim Binärtyp betrachtet DynamoDB beim Vergleichen der binären Werte jedes Byte der Binärdaten ohne Vorzeichen.

    Informationen zum Angeben von Datentypen in JSON finden Sie unter DynamoDB Low-Level-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

Verwenden Sie stattdessen FilterExpression – Beispiel

Angenommen, Sie möchten die Tabelle Music scannen und wenden eine Bedingung auf die übereinstimmenden Elemente an. Sie können eine Scan-Anforderung mit dem Parameter ScanFilter wie in diesem AWS CLI-Beispiel verwenden:

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

Sie können stattdessen FilterExpression verwenden.

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