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
Mit dem Scan
Anforderungszuordnungsdokument können Sie den AWS AppSync DynamoDB-Resolver anweisen, eine Scan
Anfrage an DynamoDB zu stellen, und Sie können Folgendes angeben:
-
Ein Filter zum Ausschließen von Ergebnissen
-
Welcher Index verwendet werden soll
-
Wie viele Elemente zurückgegeben werden sollen
-
Ob Consistent-Lesevorgänge verwendet werden sollen
-
Paginierungs-Token
-
Parallele Scans
Das Scan
-Zuweisungsdokument weist die folgende Struktur auf:
{ "version" : "2017-02-28", "operation" : "Scan", "index" : "fooIndex", "limit" : 10, "consistentRead" : false, "nextToken" : "aPaginationToken", "totalSegments" : 10, "segment" : 1, "filter" : { ... }, "projection" : { ... } }
Die Felder sind wie folgt definiert:
Felder scannen
-
version
-
Die Version der Vorlagedefinition. Aktuell werden
2017-02-28
und2018-05-29
unterstützt. Dieser Wert ist erforderlich. -
operation
-
Der DynamoDB DynamoDB-Vorgang. Um die
Scan
-DynamoDB-Operation durchzuführen, muss diese aufScan
gesetzt sein. Dieser Wert ist erforderlich. -
filter
-
Ein Filter, mit dem die Ergebnisse aus DynamoDB gefiltert werden können, bevor sie zurückgegeben werden. Weitere Informationen zu Filtern finden Sie unter Filter. Dies ist ein optionales Feld.
-
index
-
Der Name des abzufragenden Indexes. Der DynamoDB-Abfragevorgang ermöglicht es Ihnen, zusätzlich zum Primärschlüsselindex auch lokale sekundäre Indizes und globale sekundäre Indizes nach einem Hashschlüssel zu durchsuchen. Falls angegeben, weist dies DynamoDB an, den angegebenen Index abzufragen. Wenn nicht angegeben, wird der Primärschlüsselindex abgefragt.
-
limit
-
Die maximale Anzahl der zu einem bestimmten Zeitpunkt auszuwertenden Elemente. Dies ist ein optionales Feld.
-
consistentRead
-
Ein boolescher Wert, der angibt, ob bei der Abfrage von DynamoDB konsistente Lesevorgänge verwendet werden sollen. Dieses Feld ist optional und standardmäßig auf
false
gesetzt. -
nextToken
-
Das Paginierungs-Token für die Fortsetzung einer früheren Abfrage. Dieses wäre von einer vorherigen Abfrage erhalten worden. Dies ist ein optionales Feld.
-
select
-
Standardmäßig gibt der AWS AppSync DynamoDB-Resolver nur die Attribute zurück, die in den Index projiziert wurden. Wenn weitere Attribute erforderlich sind, kann dieses Feld festgelegt werden. Dies ist ein optionales Feld. Die unterstützten Werte sind:
-
ALL_ATTRIBUTES
-
Gibt alle Elementattribute aus der angegebenen Tabelle oder dem Index zurück. Wenn Sie einen lokalen sekundären Index abfragen, ruft DynamoDB für jedes übereinstimmende Element im Index das gesamte Element aus der übergeordneten Tabelle ab. Wenn der Index konfiguriert ist, um alle Elementattribute zu projizieren, können Sie alle Daten aus dem lokalen sekundären Index erhalten und das Abrufen ist nicht erforderlich.
-
ALL_PROJECTED_ATTRIBUTES
-
Nur bei der Abfrage eines Indexes erlaubt. Ruft alle Attribute ab, die in den Index projiziert wurden. Wenn der Index konfiguriert ist, um alle Attribute zu projizieren, entspricht dieser Rückgabewert der Angabe von
ALL_ATTRIBUTES
. SPECIFIC_ATTRIBUTES
-
Gibt nur die in den s aufgeführten Attribute zurück.
projection
expression
Dieser Rückgabewert entspricht der Angabeprojection
von 's'expression
ohne Angabe eines Werts fürSelect
.
-
-
totalSegments
-
Die Anzahl der Segmente zum Partitionieren der Tabelle, wenn ein paralleler Scan durchgeführt wird. Dieses Feld ist optional, muss aber angegeben werden, wenn
segment
angegeben ist. -
segment
-
Das Tabellensegment in dieser Operation beim Durchführen eines parallelen Scans. Dieses Feld ist optional, muss aber angegeben werden, wenn
totalSegments
angegeben ist. projection
-
Eine Projektion, die verwendet wird, um die Attribute anzugeben, die von der DynamoDB-Operation zurückgegeben werden sollen. Weitere Informationen zu Projektionen finden Sie unter Projektionen. Dies ist ein optionales Feld.
Die vom DynamoDB-Scan zurückgegebenen Ergebnisse werden automatisch in GraphQL und JSON primitive Typen konvertiert und sind im Mapping-Kontext () verfügbar. $context.result
Weitere Informationen zur DynamoDB-Typkonvertierung finden Sie unter Typsystem (Antwortzuordnung).
Weitere Informationen zu Vorlagen für die Antwortzuweisung finden Sie unter Übersicht über Resolver-Mapping-Vorlagen.
Die Ergebnisse weisen die folgende Struktur auf:
{ items = [ ... ], nextToken = "a pagination token", scannedCount = 10 }
Die Felder sind wie folgt definiert:
-
items
-
Eine Liste mit den vom DynamoDB-Scan zurückgegebenen Elementen.
-
nextToken
-
Falls es mehr Ergebnisse gibt,
nextToken
enthält sie ein Paginierungstoken, das Sie in einer anderen Anfrage verwenden können. AWS AppSync verschlüsselt und verschleiert das von DynamoDB zurückgegebene Paginierungstoken. Damit sickern Daten aus Ihren Tabellen nicht versehentlich an den Aufrufer durch. Diese Paginierungs-Tokens können nicht über verschiedene Resolver hinweg verwendet werden. -
scannedCount
-
Die Anzahl der Elemente, die von DynamoDB abgerufen wurden, bevor ein Filterausdruck (falls vorhanden) angewendet wurde.
Beispiel 1
Das folgende Beispiel ist eine Zuordnungsvorlage für die GraphQL-Abfrage:allPosts
.
In diesem Beispiel werden alle Einträge in der Tabelle zurückgegeben.
{ "version" : "2017-02-28", "operation" : "Scan" }
Beispiel 2
Das folgende Beispiel ist eine Zuordnungsvorlage für die GraphQL-Abfrage:postsMatching(title: String!)
.
In diesem Beispiel werden alle Einträge in der Tabelle zurückgegeben, bei denen der Titel mit dem title
-Argument beginnt.
{ "version" : "2017-02-28", "operation" : "Scan", "filter" : { "expression" : "begins_with(title, :title)", "expressionValues" : { ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title) }, } }
Weitere Informationen zu DynamoDB finden Sie in der Scan
API APIDynamoDB-Dokumentation.