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.
Geben Sie System ein (Zuordnung anfordern)
Wenn Sie die AWS AppSync DynamoDB-Funktion zum Aufrufen Ihrer DynamoDB-Tabellen verwenden, AWS AppSync müssen Sie den Typ der einzelnen Werte kennen, die in diesem Aufruf verwendet werden sollen. Das liegt daran, dass DynamoDB mehr Typprimitive unterstützt als GraphQL oder JSON (wie Sets und Binärdaten). AWS AppSync benötigt einige Hinweise bei der Übersetzung zwischen GraphQL und DynamoDB, andernfalls müsste es einige Annahmen darüber treffen, wie Daten in Ihrer Tabelle strukturiert sind.
Weitere Informationen zu DynamoDB-Datentypen finden Sie in der Dokumentation zu DynamoDB-Datentypdeskriptoren und Datentypen.
Ein DynamoDB-Wert wird durch ein JSON Objekt dargestellt, das ein einzelnes Schlüssel-Wert-Paar enthält. Der Schlüssel gibt den DynamoDB-Typ an, und der Wert gibt den Wert selbst an. Im folgenden Beispiel gibt der Schlüssel S
an, dass der Wert eine Zeichenfolge und der Wert identifier
selbst ein Zeichenfolgewert ist.
{ "S" : "identifier" }
Beachten Sie, dass das JSON Objekt nicht mehr als ein Schlüssel-Wert-Paar haben kann. Wenn mehr als ein Schlüssel-Wert-Paar angegeben ist, wird das Anforderungsobjekt nicht analysiert.
Ein DynamoDB-Wert wird überall in einem Anforderungsobjekt verwendet, wo Sie einen Wert angeben müssen. Zu den Stellen, an denen Sie dies durchführen müssen, gehören: die Abschnitte key
und attributeValue
und der Bereich expressionValues
von Ausdrucksabschnitten. Im folgenden Beispiel identifier
wird der DynamoDB-Zeichenkettenwert dem id
Feld in einem key
Abschnitt (möglicherweise in einem GetItem
Anforderungsobjekt) zugewiesen.
"key" : { "id" : { "S" : "identifier" } }
Unterstützte Typen
AWS AppSync unterstützt die folgenden DynamoDB-Skalar-, Dokument- und Satztypen:
- Zeichenfolgetyp
S
-
Ein einzelner Zeichenfolgewert. Ein DynamoDB-Zeichenkettenwert wird wie folgt bezeichnet:
{ "S" : "some string" }
Eine Verwendungsbeispiel ist:
"key" : { "id" : { "S" : "some string" } }
- Zeichenfolgesatztyp
SS
-
Ein Satz von Zeichenfolgewerten. Ein DynamoDB String Set-Wert wird wie folgt bezeichnet:
{ "SS" : [ "first value", "second value", ... ] }
Eine Verwendungsbeispiel ist:
"attributeValues" : { "phoneNumbers" : { "SS" : [ "+1 555 123 4567", "+1 555 234 5678" ] } }
- Zahlentyp
N
-
Ein einzelner numerischer Wert. Ein DynamoDB-Zahlenwert wird wie folgt bezeichnet:
{ "N" : 1234 }
Eine Verwendungsbeispiel ist:
"expressionValues" : { ":expectedVersion" : { "N" : 1 } }
- Zahlensatztyp
NS
-
Ein Satz von Zahlenwerten. Ein DynamoDB Number Set-Wert wird wie folgt bezeichnet:
{ "NS" : [ 1, 2.3, 4 ... ] }
Eine Verwendungsbeispiel ist:
"attributeValues" : { "sensorReadings" : { "NS" : [ 67.8, 12.2, 70 ] } }
- Binärtyp
B
-
Ein Binärwert. Ein DynamoDB-Binärwert wird wie folgt bezeichnet:
{ "B" : "SGVsbG8sIFdvcmxkIQo=" }
Beachten Sie, dass es sich bei dem Wert tatsächlich um eine Zeichenfolge handelt, wobei die Zeichenfolge die Base64-kodierte Darstellung der Binärdaten ist. AWS AppSync dekodiert diese Zeichenfolge wieder in ihren Binärwert, bevor sie an DynamoDB gesendet wird. AWS AppSync verwendet das Base64-Dekodierungsschema, wie es in RFC 2045 definiert ist: Jedes Zeichen, das nicht im Base64-Alphabet vorkommt, wird ignoriert.
Eine Verwendungsbeispiel ist:
"attributeValues" : { "binaryMessage" : { "B" : "SGVsbG8sIFdvcmxkIQo=" } }
- Binärsatztyp
BS
-
Ein Satz von Binärwerten. Ein DynamoDB Binary Set-Wert wird wie folgt bezeichnet:
{ "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] }
Beachten Sie, dass es sich bei dem Wert tatsächlich um eine Zeichenfolge handelt, wobei die Zeichenfolge die Base64-kodierte Darstellung der Binärdaten ist. AWS AppSync dekodiert diese Zeichenfolge wieder in ihren Binärwert, bevor sie an DynamoDB gesendet wird. AWS AppSync verwendet das Base64-Dekodierungsschema, wie es in RFC 2045 definiert ist: Jedes Zeichen, das nicht im Base64-Alphabet vorkommt, wird ignoriert.
Eine Verwendungsbeispiel ist:
"attributeValues" : { "binaryMessages" : { "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ] } }
- Boolescher Typ
BOOL
-
Ein Boolescher Wert Ein boolescher DynamoDB-Wert wird wie folgt bezeichnet:
{ "BOOL" : true }
Beachten Sie, dass nur
true
undfalse
gültige Werte sind.Eine Verwendungsbeispiel ist:
"attributeValues" : { "orderComplete" : { "BOOL" : false } }
- Listentyp
L
-
Eine Liste aller anderen unterstützten DynamoDB-Werte. Ein DynamoDB-Listenwert wird wie folgt gekennzeichnet:
{ "L" : [ ... ] }
Beachten Sie, dass es sich bei dem Wert um einen zusammengesetzten Wert handelt, wobei die Liste null oder mehr aller unterstützten DynamoDB-Werte (einschließlich anderer Listen) enthalten kann. Die Liste kann auch eine Mischung aus verschiedenen Typen enthalten.
Eine Verwendungsbeispiel ist:
{ "L" : [ { "S" : "A string value" }, { "N" : 1 }, { "SS" : [ "Another string value", "Even more string values!" ] } ] }
- Zuordnungstyp
M
-
Stellt eine ungeordnete Sammlung von Schlüssel-Wert-Paaren anderer unterstützter DynamoDB-Werte dar. Ein DynamoDB-Zuordnungswert wird wie folgt bezeichnet:
{ "M" : { ... } }
Beachten Sie, dass eine Zuordnung null oder mehrere Schlüssel-Wert-Paare enthalten kann. Der Schlüssel muss eine Zeichenfolge sein, und der Wert kann ein beliebiger unterstützter DynamoDB-Wert sein (einschließlich anderer Maps). Die Zuordnung kann auch eine Mischung aus verschiedenen Typen enthalten.
Eine Verwendungsbeispiel ist:
{ "M" : { "someString" : { "S" : "A string value" }, "someNumber" : { "N" : 1 }, "stringSet" : { "SS" : [ "Another string value", "Even more string values!" ] } } }
- Null-Typ
NULL
-
Ein Null-Wert. Ein DynamoDB-Null-Wert wird wie folgt bezeichnet:
{ "NULL" : null }
Eine Verwendungsbeispiel ist:
"attributeValues" : { "phoneNumbers" : { "NULL" : null } }
Weitere Informationen zu den einzelnen Typen finden Sie in der DynamoDB-Dokumentation.