Geben Sie System ein (Zuordnung anfordern) - AWS AppSync

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 den AWS AppSync DynamoDB-Resolver zum Aufrufen Ihrer DynamoDB-Tabellen verwenden, AWS AppSync muss der Typ jedes Werts bekannt sein, der in diesem Aufruf verwendet werden soll. 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 wird, wird das Zuweisungsdokument für Anforderungen nicht analysiert.

Ein DynamoDB-Wert wird überall in einem Anforderungszuordnungsdokument 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 zugewiesen (möglicherweise in einem GetItem Anforderungszuordnungsdokument).

"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 und false 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.