Scan - 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.

Scan

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.

Beschreibung

Die Scan-Operation gibt ein oder mehrere Elemente mit zugehörigen Attributen zurück, indem sie einen vollständigen Scan einer Tabelle durchführt. Geben Sie einen ScanFilter an, um spezifischere Ergebnisse zu erhalten.

Anmerkung

Wenn die Gesamtanzahl der gescannten Elemente den Grenzwert von 1 MB überschreitet, wird der Scan beendet und die Ergebnisse werden an den Benutzer mit einem LastEvaluatedKey zurückgegeben, um den Scan in einer nachfolgenden Operation fortzusetzen. Die Ergebnisse enthalten auch die Anzahl der Elemente, die den Grenzwert überschreiten. Ein Scan kann dazu führen, dass keine der Tabellendaten die Filterkriterien erfüllen.

Der Ergebnissatz ist letztlich konsistent.

Anforderungen

Syntax

// This header is abbreviated. // For a sample of a complete header, see DynamoDB auf niedriger Ebene API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Limit": 2, "ScanFilter":{ "AttributeName1":{"AttributeValueList":[{"S":"AttributeValue"}],"ComparisonOperator":"EQ"} }, "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 auszuwertenden Elemente (nicht notwendigerweise die Anzahl der übereinstimmenden Elemente). Wenn DynamoDB bei der Ergebnisverarbeitung die Anzahl der Elemente bis zum Grenzwert verarbeitet, wird der Vorgang 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 weitere Elemente abzurufen. Wenn die gescannten Daten 1 MB überschreiten, bevor DynamoDB diesen Grenzwert erreicht, wird der Scan beendet und es werden die bis zu diesem Grenzwert übereinstimmenden Werte zurückgegeben. Außerdem wird einLastEvaluatedKey ausgegeben, der bei einer nachfolgenden Operation angewendet wird, um mit dem Scan fortzufahren.

Typ: Zahl

Nein
Count

Wenn die Option auf true gesetzt ist, gibt DynamoDB für die Scan-Operation alle Elemente zurück, auch wenn die Operation keine übereinstimmenden Elemente für den zugeordneten Filter ergibt. Sie können den Limit-Parameter auf Scans 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.

Typ: Boolesch

Nein
ScanFilter

Wertet die Scanergebnisse aus und gibt nur die gewünschten Werte zurück. Mehrere Bedingungen werden als "AND"-Operationen behandelt, das heißt, alle Bedingungen müssen erfüllt sein, damit sie in den Ergebnissen berücksichtigt werden.

Typ: Zuordnung von Attributnamen zu Werten mit Vergleichsoperatoren.

Nein
ScanFilter:AttributeValueList

Die Werte und Bedingungen für die Auswertung der Scan-Ergebnisse für den Filter.

Typ: Zuordnung von AttributeValue zu einer Condition.

Nein
ScanFilter:​ 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 Scan-Operation.

Anmerkung

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#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"]}.

 
 

NE: nicht gleich.

Bei NE 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 entspricht {"N":"6"} nicht {"NS":["6", "2", "1"]}.

 
 

NOT_NULL: Attribut ist vorhanden.

 
 

NULL: Attribut ist nicht vorhanden.

 
 

CONTAINS: Prüft auf eine Teilsequenz oder einen Wert in einem Satz.

Bei CONTAINS kann AttributeValueList nur einen AttributeValue vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn das Zielattribut des Vergleichs eine Zeichenfolge ist, dann prüft die Operation, ob eine Teilzeichenfolge übereinstimmt. Wenn das Zielattribut des Vergleichs vom Typ Binärzahl ist, sucht die Operation nach einer Teilsequenz des Ziels, die mit der Eingabe übereinstimmt. Wenn das Zielattribut des Vergleichs ein Satz ist ("SS", "NS" oder "BS"), prüft die Operation auf ein Mitglied des Satzes (nicht als Teilzeichenfolge).

 
 

NOT_CONTAINS: Prüft auf fehlende Teilsequenz oder fehlenden Wert in einem Satz.

Bei NOT_CONTAINS kann AttributeValueList nur einen AttributeValue vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Wenn das Zielattribut des Vergleichs eine Zeichenfolge ist, dann prüft die Operation, ob die Übereinstimmung einer Teilzeichenfolge fehlt. Wenn das Zielattribut des Vergleichs vom Typ Binärzahl ist, prüft die Operation, ob eine Teilsequenz des Ziels, die mit der Eingabe übereinstimmt, fehlt. Wenn das Zielattribut des Vergleichs ein Satz ist ("SS", "NS" oder "BS"), prüft die Operation, ob ein Mitglied des Satzes fehlt (nicht als Teilzeichenfolge).

 
 

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).

 
 

IN: Prüft auf genaue Übereinstimmungen.

Bei IN kann AttributeValueList mehr als einen AttributeValue vom Typ Zeichenfolge, Zahl oder Binärzahl (keinen Satz) enthalten. Das Zielattribut des Vergleichs muss vom selben Typ sein und mit dem genauen Wert übereinstimmen. Eine Zeichenfolge stimmt niemals mit einem Zeichenfolgensatz überein.

 
 

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"]}.

 
ExclusiveStartKey

Der Primärschlüssel des Elements, von dem ein früherer Scan fortgesetzt wird. Ein früherer Scan kann diesen Wert bereitstellen, wenn diese Scan-Operation unterbrochen wurde, bevor die ganze Tabelle gescannt wurde – entweder aufgrund der Größe des Ergebnissatzes oder aufgrund des Limit-Parameters. Der LastEvaluatedKey kann in einer neuen Scan-Anforderung 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

Syntax

HTTP/1.1 200 x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 229 {"Count":2,"Items":[{ "AttributeName1":{"S":"AttributeValue1"}, "AttributeName2":{"S":"AttributeValue2"}, "AttributeName3":{"S":"AttributeValue3"} },{ "AttributeName1":{"S":"AttributeValue4"}, "AttributeName2":{"S":"AttributeValue5"}, "AttributeName3":{"S":"AttributeValue6"}, "AttributeName5":{"B":"dmFsdWU="} }], "LastEvaluatedKey": {"HashKeyElement":{"S":"AttributeName1"}, "RangeKeyElement":{"N":"AttributeName2"}, "ConsumedCapacityUnits":1, "ScannedCount":2} }
Name Beschreibung
Items

Container für die Attribute, die mit den Operationsparametern übereinstimmen.

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.

Typ: Zahl

ScannedCount

Anzahl der Elemente im vollständigen Scan, bevor Filter angewendet werden. Ein hoher ScannedCount-Wert mit wenigen oder gar keinen Count-Ergebnissen weist auf eine ineffiziente Scan-Operation hin. Weitere Informationen finden Sie unter Zählen der Elemente in den Ergebnissen.

Typ: Zahl

LastEvaluatedKey Der Primärschlüssel des Elements, an dem die Scan-Operation beendet wurde. Stellen Sie diesen Wert in einer nachfolgenden Scan-Operation bereit, um die Operation von diesem Punkt fortzusetzen.

Der LastEvaluatedKey ist null, wenn der Ergebnissatz der Scan-Operation vollständig ist (das heißt, wenn die "letzte Seite" von der Operation verarbeitet wurde).

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 Bereitgestellter Kapazitätsmodus von DynamoDB.

Typ: Zahl

Spezielle Fehler

Fehler Beschreibung
ResourceNotFoundException Die angegebene Tabelle wurde nicht gefunden.

Beispiele

Beispiele für die Verwendung des AWS SDK finden Sie unterTabellen in DynamoDB scannen.

Beispielanforderung

// This header is abbreviated. For a sample of a complete header, see DynamoDB auf niedriger Ebene API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable","ScanFilter":{}}

Beispielantwort

HTTP/1.1 200 x-amzn-RequestId: 4e8a5fa9-71e7-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 465 {"Count":4,"Items":[{ "date":{"S":"1980"}, "fans":{"SS":["Dave","Aaron"]}, "name":{"S":"Airplane"}, "rating":{"S":"***"} },{ "date":{"S":"1999"}, "fans":{"SS":["Ziggy","Laura","Dean"]}, "name":{"S":"Matrix"}, "rating":{"S":"*****"} },{ "date":{"S":"1976"}, "fans":{"SS":["Riley"]}," name":{"S":"The Shaggy D.A."}, "rating":{"S":"**"} },{ "date":{"S":"1985"}, "fans":{"SS":["Fox","Lloyd"]}, "name":{"S":"Back To The Future"}, "rating":{"S":"****"} }], "ConsumedCapacityUnits":0.5 "ScannedCount":4}

Beispielanforderung

// This header is abbreviated. For a sample of a complete header, see DynamoDB auf niedriger Ebene API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 content-length: 125 {"TableName":"comp5", "ScanFilter": {"time": {"AttributeValueList":[{"N":"400"}], "ComparisonOperator":"GT"} } }

Beispielantwort

HTTP/1.1 200 OK x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 262 Date: Mon, 15 Aug 2011 16:52:02 GMT {"Count":2, "Items":[ {"friends":{"SS":["Dave","Ziggy","Barrie"]}, "status":{"S":"chatting"}, "time":{"N":"2000"}, "user":{"S":"Casey"}}, {"friends":{"SS":["Dave","Ziggy","Barrie"]}, "status":{"S":"chatting"}, "time":{"N":"2000"}, "user":{"S":"Fredy"} }], "ConsumedCapacityUnits":0.5 "ScannedCount":4 }

Beispielanforderung

// This header is abbreviated. For a sample of a complete header, see DynamoDB auf niedriger Ebene API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"comp5", "Limit":2, "ScanFilter": {"time": {"AttributeValueList":[{"N":"400"}], "ComparisonOperator":"GT"} }, "ExclusiveStartKey": {"HashKeyElement":{"S":"Fredy"},"RangeKeyElement":{"N":"2000"}} }

Beispielantwort

HTTP/1.1 200 OK x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 232 Date: Mon, 15 Aug 2011 16:52:02 GMT {"Count":1, "Items":[ {"friends":{"SS":["Jane","James","John"]}, "status":{"S":"exercising"}, "time":{"N":"2200"}, "user":{"S":"Roger"}} ], "LastEvaluatedKey":{"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"250"}}, "ConsumedCapacityUnits":0.5 "ScannedCount":2 }