

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.

# Abfrage
<a name="API_Query_v20111205"></a>

**Wichtig**  
***Dieser Abschnitt bezieht sich auf die veraltete API-Version 2011-12-05, die nicht für neue Anwendungen verwendet werden sollte.***  
 **Eine Dokumentation zur aktuellen Low-Level-API finden Sie in der [Amazon DynamoDB-API-Referenz](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Beschreibung
<a name="API_Query_Description"></a>

Eine `Query`-Operation ruft die Werte eines oder mehrerer Elemente mit den zugehörigen Attributen nach Primärschlüssel ab (`Query` ist nur für Hash- und Bereichsprimärschlüssel-Tabellen verfügbar). Sie müssen einen spezifischen `HashKeyValue` angeben und können den Umfang der Abfrage einschränken, indem Sie Vergleichsoperatoren auf den `RangeKeyValue` des Primärschlüssels anwenden. Verwenden Sie den Parameter `ScanIndexForward`, um Ergebnisse nach Bereichsschlüssel in vorwärts gerichteter oder umgekehrter Reihenfolge zu erhalten. 

Abfragen, die keine Ergebnisse zurückgeben, verbrauchen die minimalen Lesekapazitätseinheiten entsprechend dem Lesetyp.

**Anmerkung**  
Wenn die Gesamtanzahl der Elemente, die den Abfrageparametern entsprechen, das Limit von 1 MB überschreitet, wird die Abfrage beendet und die Ergebnisse werden an den Benutzer mit einem `LastEvaluatedKey` zurückgegeben. Die Abfrage wird in einer nachfolgenden Operation fortgesetzt. Im Gegensatz zu einer Scan-Operation gibt eine Abfrage-Operation niemals einen leeren Ergebnissatz *und* einen `LastEvaluatedKey` zurück. Der `LastEvaluatedKey` wird nur bereitgestellt, wenn die Ergebnisse 1 MB überschreiten oder wenn Sie den Parameter `Limit` verwendet haben.   
Das Ergebnis kann für einen Consistent-Lesevorgang mit dem Parameter `ConsistentRead` festgelegt werden.

## Anforderungen
<a name="API_Query_RequestParameters"></a>

### Syntax
<a name="API_Query_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB Low-Level-API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
	"Limit":2,
	"ConsistentRead":true,
	"HashKeyValue":{"S":"AttributeValue1":},
	"RangeKeyCondition": {"AttributeValueList":[{"N":"AttributeValue2"}],"ComparisonOperator":"GT"}
	"ScanIndexForward":true,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"AttributeName1"},
		"RangeKeyElement":{"N":"AttributeName2"}
	},
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  Name  |  Beschreibung  |  Erforderlich | 
| --- | --- | --- | 
|  TableName  |  Der Name der Tabelle, die die angeforderten Elemente enthält.  **Typ:** Zeichenfolge  |  Ja  | 
| AttributesToGet  | Array von Attributnamen. Wenn Attributnamen nicht angegeben sind, dann werden alle Attribute zurückgegeben. Wenn einige Attribute nicht gefunden werden, sind sie nicht im Abfrageergebnis enthalten.Typ: Array | Nein | 
| Limit  | Die maximale Anzahl der zurückzugebenden Elemente (nicht notwendigerweise die Anzahl der übereinstimmenden Elemente). Wenn DynamoDB bei der Abfrage der Tabelle die Anzahl der Elemente bis zum Limit verarbeitet, wird die Abfrage beendet und es werden die bis zu diesem Punkt übereinstimmenden Werte zurückgegeben. Außerdem wird ein `LastEvaluatedKey` ausgegeben, der bei einer nachfolgenden Operation angewendet wird, um die Abfrage fortzusetzen. Wenn der Ergebnissatz 1 MB überschreitet, bevor DynamoDB dieses Limit erreicht, wird die Abfrage beendet und es werden die übereinstimmenden Werte zurückgegeben. Außerdem wird der `LastEvaluatedKey` ausgegeben, der bei einer nachfolgenden Operation angewendet wird, um mit der Abfrage fortzufahren.Typ: Zahl | Nein | 
| ConsistentRead  | Wenn auf `true` festgelegt, dann wird ein Consistent-Lesevorgang ausgegeben, andernfalls wird Eventually Consistent verwendet.Typ: Boolesch | Nein | 
| Count  | Wenn auf `true` festgelegt, gibt DynamoDB die Gesamtzahl der Elemente zurück, die mit den Abfrageparametern übereinstimmen, anstatt eine Liste der übereinstimmenden Elemente und der zugehörigen Attribute. Sie können den Parameter `Limit` auf Abfragen anwenden, die nur zählen.  Setzen Sie `Count` nicht auf `true`, wenn Sie eine Liste von `AttributesToGet` bereitstellen, sonst gibt DynamoDB einen Validierungsfehler zurück. Weitere Informationen finden Sie unter [Zählen der Elemente in den Ergebnissen](Query.Other.md#Query.Count).Typ: Boolesch | Nein | 
| HashKeyValue  | Attributwert der Hash-Komponente des zusammengesetzten Primärschlüssels.Typ: Zeichenfolge, Zahl oder Binärzahl | Ja | 
| RangeKeyCondition  | Ein Container für die Attributwerte und Vergleichsoperatoren für die Abfrage. Eine Abfrageanforderung erfordert keine `RangeKeyCondition`. Wenn Sie nur den `HashKeyValue` angeben, gibt DynamoDB alle Elemente mit dem angegebenen Hash-Schlüsselelementwert zurück.Typ: Zuordnung | Nein | 
| RangeKeyCondition:​ AttributeValueList | Die Attributwerte zur Bewertung der Abfrageparameter. `AttributeValueList` enthält einen Attributwert, es sei denn, es wurde ein `BETWEEN` -Vergleich angegeben. Für den `BETWEEN`-Vergleich enthält `AttributeValueList` zwei Attributwerte. Typ: Zuordnung von `AttributeValue` zu einer `ComparisonOperator`.  | Nein | 
| RangeKeyCondition:​ ComparisonOperator |  Die Kriterien für die Bewertung der bereitgestellten Attribute, z. B. gleich, größer als usw. Die folgenden Operatoren sind gültige Vergleichsoperatoren für eine Abfrage-Operation.  Vergleiche von Zeichenfolgenwerten für größer als, gleich oder kleiner als basieren auf ASCII-Zeichensatzwerten. Beispiel: `a` ist größer als `A` und `aa` ist größer als `B`. Eine Liste von Codewerten finden Sie unter [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).  Beim Binärtyp behandelt DynamoDB jedes Byte der Binärdaten als ohne Vorzeichen, wenn binäre Werte verglichen werden (z. B. bei der Bewertung von Abfrageausdrücken).   Typ: Zeichenfolge oder Binärzahl  | Nein | 
|   | `EQ` : gleich. Bei `EQ` kann `AttributeValueList` nur einen `AttributeValue` vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn ein Element einen `AttributeValue` eines anderen Typs enthält, als in der Anforderung angegeben, stimmt der Wert nicht überein. Beispiel: `{"S":"6"}` ist nicht gleich `{"N":"6"}`. Auch, `{"N":"6"}` ist nicht gleich `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE` : kleiner als oder gleich. Bei `LE` kann `AttributeValueList` nur einen `AttributeValue` vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn ein Element einen `AttributeValue` eines anderen Typs enthält, als in der Anforderung angegeben, stimmt der Wert nicht überein. Beispiel: `{"S":"6"}` ist nicht gleich `{"N":"6"}`. Auch, `{"N":"6"}` entspricht nicht `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT` : kleiner als. Bei `LT` kann `AttributeValueList` nur einen `AttributeValue` vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn ein Element einen `AttributeValue` eines anderen Typs enthält, als in der Anforderung angegeben, stimmt der Wert nicht überein. Beispiel: `{"S":"6"}` ist nicht gleich `{"N":"6"}`. Auch, `{"N":"6"}` entspricht nicht `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE` : größer als oder gleich. Bei `GE` kann `AttributeValueList` nur einen `AttributeValue` vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn ein Element einen `AttributeValue` eines anderen Typs enthält, als in der Anforderung angegeben, stimmt der Wert nicht überein. Beispiel: `{"S":"6"}` ist nicht gleich `{"N":"6"}`. Auch entspricht `{"N":"6"}` nicht `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT` : größer als. Bei `GT` kann `AttributeValueList` nur einen `AttributeValue` vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn ein Element einen `AttributeValue` eines anderen Typs enthält, als in der Anforderung angegeben, stimmt der Wert nicht überein. Beispiel: `{"S":"6"}` ist nicht gleich `{"N":"6"}`. Auch, `{"N":"6"}` entspricht nicht `{"NS":["6", "2", "1"]}`. |   | 
|   | `BEGINS_WITH`: Prüft auf ein Präfix. Bei `BEGINS_WITH` kann `AttributeValueList` nur einen `AttributeValue` vom Typ Zeichenfolge oder Binärzahl (keine Zahl bzw. keinen Satz) enthalten. Das Zielattribut des Vergleichs muss vom Typ Zeichenfolge oder Binärzahl sein (keine Zahl bzw. kein Satz). |   | 
|   | `BETWEEN`: Größer als oder gleich dem ersten Wert und kleiner als oder gleich dem zweiten Wert. Für `BETWEEN` muss `AttributeValueList` zwei `AttributeValue`-Elemente desselben Typs enthalten, und zwar Zeichenfolge, Zahl oder Binärzahl (keinen Satztyp). Es kommt zu einer Übereinstimmung mit dem Zielattribut, wenn der Zielwert größer als oder gleich dem ersten Element und kleiner als oder gleich dem zweiten Element ist. Wenn ein Element einen `AttributeValue` eines anderen Typs enthält, als in der Anforderung angegeben, stimmt der Wert nicht überein. Beispiel: `{"S":"6"}` stimmt nicht mit `{"N":"6"}` überein. Auch entspricht `{"N":"6"}` nicht `{"NS":["6", "2", "1"]}`. |   | 
| ScanIndexForward | Gibt die auf- oder absteigende Traversierung des Index an. DynamoDB gibt Ergebnisse zurück, die der angeforderten Reihenfolge entsprechen, die vom Bereichsschlüssel bestimmt wird: Wenn der Datentyp „Zahl“ lautet, werden die Ergebnisse in numerischer Reihenfolge zurückgegeben, andernfalls basiert der Traversal auf ASCII-Zeichencodewerten.Typ: BooleschDer Standardwert ist `true` (aufsteigend). | Nein | 
| ExclusiveStartKey | Der Primärschlüssel des Elements, von dem eine frühere Abfrage fortgesetzt wird. Eine frühere Abfrage kann diesen Wert als `LastEvaluatedKey` bereitstellen, wenn diese Abfrage-Operation vor Abschluss unterbrochen wurde – entweder aufgrund der Größe des Ergebnissatzes oder aufgrund des `Limit`-Parameters. Der `LastEvaluatedKey` kann in einer neuen Abfrageanforderung zurückgegeben werden, um die Operation von diesem Punkt fortzusetzen.Typ: `HashKeyElement` oder `HashKeyElement` und `RangeKeyElement` für einen zusammengesetzten Primärschlüssel. | Nein | 

## Antworten
<a name="API_Query_ResponseElements"></a>

### Syntax
<a name="API_Query_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"N":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue3"},
    "AttributeName2":{"N":"AttributeValue4"},
    "AttributeName3":{"S":"AttributeValue3"},
    "AttributeName5":{"B":"dmFsdWU="}
}],
    "LastEvaluatedKey":{"HashKeyElement":{"AttributeValue3":"S"},
                        "RangeKeyElement":{"AttributeValue4":"N"}
     },
     "ConsumedCapacityUnits":1
}
```


****  

|  Name  |  Beschreibung  | 
| --- | --- | 
| Items  | Elementattribute, die den Abfrageparametern entsprechen.Typ: Zuordnung der Attributnamen und ihrer Datentypen und Werte. | 
| Count  |  Anzahl der Elemente in der Antwort. Weitere Informationen finden Sie unter [Zählen der Elemente in den Ergebnissen](Query.Other.md#Query.Count). Typ: Zahl  | 
| LastEvaluatedKey | Primärschlüssel des Elements, an dem die Abfrage-Operation beendet wurde, einschließlich des vorherigen Ergebnissatzes. Verwenden Sie diesen Wert, um eine neue Operation ohne diesen Wert in der neuen Anforderung zu starten.Der `LastEvaluatedKey` ist `null`, wenn der Ergebnissatz der Abfrage vollständig ist (das heißt, wenn die "letzte Seite" von der Operation verarbeitet wurde). Typ: `HashKeyElement` oder `HashKeyElement` und `RangeKeyElement` für einen zusammengesetzten Primärschlüssel. | 
| ConsumedCapacityUnits | Die Anzahl der Lesekapazitätseinheiten, die von der Operation verbraucht werden. Dieser Wert zeigt die Anzahl, die für Ihren bereitgestellten Durchsatz gültig ist. Weitere Informationen finden Sie unter [DynamoDB – Modus mit bereitgestellter Kapazität](provisioned-capacity-mode.md). Typ: Zahl | 

## Spezielle Fehler
<a name="API_Query_SpecialErrors"></a>


****  

|  Fehler  |  Beschreibung  | 
| --- | --- | 
| ResourceNotFoundException  | Die angegebene Tabelle wurde nicht gefunden. | 

## Beispiele
<a name="API_Query_Examples"></a>

 Beispiele für die Verwendung des AWS SDK finden Sie unter [Abfragen von Tabellen in DynamoDB](Query.md).

### Beispielanforderung
<a name="API_Query_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB Low-Level-API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"John"},
	"ScanIndexForward":false,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"John"},
		"RangeKeyElement":{"S":"The Matrix"}
	}
}
```

### Beispielantwort
<a name="API_Query_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 3647e778-71eb-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The End"}
	},{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The Beatles"}
	}],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"John"},"RangeKeyElement":{"S":"The Beatles"}},
"ConsumedCapacityUnits":1
}
```

### Beispielanforderung
<a name="API_Query_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB Low-Level-API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query 
content-type: application/x-amz-json-1.0
 
{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"Airplane"},
	"RangeKeyCondition":{"AttributeValueList":[{"N":"1980"}],"ComparisonOperator":"EQ"},
	"ScanIndexForward":false}
```

### Beispielantwort
<a name="API_Query_Examples_Response2"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8b9ee1ad-774c-11e0-9172-d954e38f553a
content-type: application/x-amz-json-1.0
content-length: 119 
 
{"Count":1,"Items":[{
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"},
	"year":{"N":"1980"}
	}],
"ConsumedCapacityUnits":1
}
```

## Zugehörige Aktionen
<a name="API_Query_Related_Actions"></a>
+  [Scan](API_Scan_v20111205.md) 