

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.

# Filterausdrücke für die Abfrage-Operation in DynamoDB
<a name="Query.FilterExpression"></a>

Wenn Sie die `Query`-Ergebnisse weiter eingrenzen müssen, können Sie optional einen Filterausdruck angeben. Ein *Filterausdruck* bestimmt, welche Elemente in den `Query`-Ergebnissen an Sie zurückgegeben werden. Alle anderen Ergebnisse werden verworfen.

Ein Filterausdruck wird angewendet, nachdem eine `Query` abgeschlossen ist, aber bevor die Ergebnisse zurückgegeben werden. Folglich verbraucht eine `Query` unabhängig davon, ob ein Filterausdruck vorhanden ist oder nicht, gleich viel Lesekapazität.

Eine `Query`-Operation kann bis zu 1 MB an Daten abrufen. Diese Größenbeschränkung gilt, bevor der Filterausdruck ausgewertet wird.

Ein Filterausdruck darf keine Partitionsschlüssel- oder Sortierschlüsselattribute enthalten. Sie müssen diese Attribute in dem Schlüsselbedingungsausdruck und nicht in dem Filterausdruck angeben.

Die Syntax für einen Filterausdruck ist der eines Schlüsselbedingungsausdrucks ähnlich. Filterausdrücke können dieselben Vergleichsoperatoren, Funktionen und logischen Operatoren wie ein Schlüsselbedingungsausdruck verwenden. Darüber hinaus können Filterausdrücke den Nicht-Gleichheitsoperator (`<>`), den`OR`-Operator, den`CONTAINS`-Operator, den `IN`-Operator, den `BEGINS_WITH`-Operator, den `BETWEEN`-Operator, den `EXISTS`-Operator und den`SIZE`-Operator verwenden. Weitere Informationen erhalten Sie unter [Schlüsselbedingungsausdrücke für die Abfrage-Operation in DynamoDB](Query.KeyConditionExpressions.md) und [Syntax für Filter- und Bedingungsausdrücke](Expressions.OperatorsAndFunctions.md#Expressions.OperatorsAndFunctions.Syntax).

**Example**  
Im folgenden AWS CLI Beispiel wird die `Thread` Tabelle nach einem bestimmten `ForumName` (Partitionsschlüssel) und `Subject` (Sortierschlüssel) abgefragt. Von den gefundenen Elementen werden nur die beliebtesten Diskussionsthreads zurückgegeben, also nur die Threads mit mehr als einer bestimmten Anzahl von `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
```
Die Argumente für `--expression-attribute-values` werden in der Datei `values.json` gespeichert.  

```
{
    ":fn":{"S":"Amazon DynamoDB"},
    ":sub":{"S":"DynamoDB Thread 1"},
    ":num":{"N":"3"}
}
```
Beachten Sie, dass `Views` ein reserviertes Wort in DynamoDB ist (siehe [Reservierte Wörter in DynamoDB](ReservedWords.md)), daher verwendet dieses Beispiel `#v` als Platzhalter. Weitere Informationen finden Sie unter [Ausdrucksattributnamen (Aliasse) in DynamoDB](Expressions.ExpressionAttributeNames.md).

**Anmerkung**  
Ein Filterausdruck entfernt Elemente aus der `Query`-Ergebnismenge. Verwenden Sie nach Möglichkeit `Query` nicht, wenn Sie erwarten, eine große Anzahl von Elementen abzurufen, jedoch auch die meisten dieser Elemente verwerfen zu müssen.