Sistema de tipos (mapeo de respuestas)
Cuando recibe una respuesta de DynamoDB, AWS AppSync la convierte automáticamente a los tipos primitivos de GraphQL y JSON. Cada atributo de DynamoDB se descodifica y se devuelve en el contexto del controlador de respuestas.
Por ejemplo si DynamoDB devuelve lo siguiente:
{ "id" : { "S" : "1234" }, "name" : { "S" : "Nadia" }, "age" : { "N" : 25 } }
Cuando el solucionador de canalización devuelve el resultado, AWS AppSync lo convierte a los tipos de GraphQL y JSON como:
{ "id" : "1234", "name" : "Nadia", "age" : 25 }
En esta sección se explica cómo AWS AppSync convierte los tipos escalares, de documento y de conjunto de DynamoDB indicados:
- Tipo cadena
S -
Un valor de cadena único. Se devuelve un valor de cadena de DynamoDB en forma de cadena.
Por ejemplo, si DynamoDB devuelve el siguiente valor de cadena de DynamoDB:
{ "S" : "some string" }AWS AppSync lo convierte en una cadena:
"some string" - Tipo de conjunto de cadenas
SS -
Un conjunto de valores de cadena. Un valor de conjunto de cadenas de DynamoDB se devuelve como una lista de cadenas.
Por ejemplo, si DynamoDB devuelve el siguiente valor de conjunto de cadenas de DynamoDB:
{ "SS" : [ "first value", "second value", ... ] }AWS AppSync lo convierte en una lista de cadenas:
[ "+1 555 123 4567", "+1 555 234 5678" ] - Tipo número
N -
Un valor numérico único. Un valor de número de DynamoDB se devuelve como número.
Por ejemplo, si DynamoDB devuelve el siguiente valor de número de DynamoDB:
{ "N" : 1234 }AWS AppSync lo convierte en un número:
1234 - Tipo conjunto de números
NS -
Conjunto de valores de número. Un valor de conjunto de números de DynamoDB se devuelve como una lista de números.
Por ejemplo, si DynamoDB devuelve el siguiente valor de conjunto de números de DynamoDB:
{ "NS" : [ 67.8, 12.2, 70 ] }AWS AppSync lo convierte en una lista de números:
[ 67.8, 12.2, 70 ] - Tipo binario
B -
Un valor binario. Un valor binario de DynamoDB se devuelve en forma de cadena que contiene la representación base64 de dicho valor.
Por ejemplo, si DynamoDB devuelve el siguiente valor binario de DynamoDB:
{ "B" : "SGVsbG8sIFdvcmxkIQo=" }AWS AppSync lo convierte en una cadena con la representación base64 del valor:
"SGVsbG8sIFdvcmxkIQo="Observe que los datos binarios se codifican con el esquema base64 como se especifica en RFC 4648
y en RFC 2045 . - Tipo conjunto binario
BS -
Conjunto de valores binarios. Un valor de conjunto binario de DynamoDB se devuelve en forma de una lista de cadenas con la representación base64 de los valores.
Por ejemplo, si DynamoDB devuelve el siguiente valor de conjunto binario de DynamoDB:
{ "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] }AWS AppSync lo convierte en una lista de cadenas que contienen la representación base64 de los valores:
[ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ]Observe que los datos binarios se codifican con el esquema base64 como se especifica en RFC 4648
y en RFC 2045 . - Tipo booleano
BOOL -
Un valor booleano. Un valor booleano de DynamoDB se devuelve en forma de valor booleano.
Por ejemplo, si DynamoDB devuelve el siguiente valor booleano de DynamoDB:
{ "BOOL" : true }AWS AppSync lo convierte en un valor booleano:
true - Tipo lista
L -
Lista del resto de valores de DynamoDB admitidos. Un valor de lista de DynamoDB se devuelve en forma de lista de valores, donde el valor de cada elemento también se convierte.
Por ejemplo, si DynamoDB devuelve el siguiente valor de lista de DynamoDB:
{ "L" : [ { "S" : "A string value" }, { "N" : 1 }, { "SS" : [ "Another string value", "Even more string values!" ] } ] }AWS AppSync lo convierte en una lista de valores convertidos:
[ "A string value", 1, [ "Another string value", "Even more string values!" ] ] - Tipo de mapa
M -
Colección de claves y valores de cualquier otro valor de DynamoDB admitido. Un valor de mapa de DynamoDB se devuelve en forma de objeto JSON en el que también se convierte cada clave y valor.
Por ejemplo, si DynamoDB devuelve el siguiente valor de mapa de DynamoDB:
{ "M" : { "someString" : { "S" : "A string value" }, "someNumber" : { "N" : 1 }, "stringSet" : { "SS" : [ "Another string value", "Even more string values!" ] } } }AWS AppSync lo convierte en un objeto JSON:
{ "someString" : "A string value", "someNumber" : 1, "stringSet" : [ "Another string value", "Even more string values!" ] } - Tipo nulo
NULL -
Un valor nulo.
Por ejemplo, si DynamoDB devuelve el siguiente valor nulo de DynamoDB:
{ "NULL" : null }AWS AppSync lo convierte en un valor nulo:
null