View a markdown version of this page

Geben Sie system (Request Mapping) ein - AWS AppSync GraphQL

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 (Request Mapping) ein

Wenn Sie den AWS AppSync DynamoDB-Resolver zum Aufrufen Ihrer DynamoDB-Tabellen verwenden, AWS AppSync müssen Sie den Typ jedes Werts kennen, der in diesem Aufruf verwendet werden soll. Das liegt daran, dass DynamoDB mehr Typprimitive unterstützt als GraphQL oder JSON (wie Sätze 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 die Daten in Ihrer Tabelle strukturiert sind.

Weitere Informationen zu DynamoDB-Datentypen finden Sie in der Dokumentation zu DynamoDB-Datentypdeskriptoren und Datentypen. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes

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-String-Wert 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 Settypen:

Zeichenfolgetyp S

Ein einzelner Zeichenfolgewert. Ein DynamoDB-String-Wert 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-Numberwert wird wie folgt bezeichnet:

{ "N" : 1234 }

Eine Verwendungsbeispiel ist:

"expressionValues" : { ":expectedVersion" : { "N" : 1 } }
Zahlensatztyp NS

Ein Satz von Zahlenwerten. Ein DynamoDB-Numbersatzwert 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 der Wert eigentlich eine Zeichenfolge ist, 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 in RFC 2045 definierte Base64-Dekodierungsschema: 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 der Wert eigentlich eine Zeichenfolge ist, 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 in RFC 2045 definierte Base64-Dekodierungsschema: 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 bezeichnet:

{ "L" : [ ... ] }

Beachten Sie, dass der Wert ein zusammengesetzter Wert ist, wobei die Liste keinen oder mehr von allen unterstützten DynamoDB-Werten (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-Kartenwert 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-Nullwert 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.