Sistema de tipo (mapeamento da resposta)
Ao receber uma resposta do DynamoDB, o AWS AppSync converte-a automaticamente para os tipos primitivos GraphQL e JSON. Cada atributo no DynamoDB é decodificado e retornado no contexto do manipulador da resposta.
Por exemplo, se o DynamoDB retorna o seguinte:
{ "id" : { "S" : "1234" }, "name" : { "S" : "Nadia" }, "age" : { "N" : 25 } }
Quando o resultado é retornado do seu resolvedor de pipeline, o AWS AppSync o converte nos tipos GraphQL e JSON como:
{ "id" : "1234", "name" : "Nadia", "age" : 25 }
Essa seção explica como o AWS AppSync converte os tipos escalar, documento e conjunto do DynamoDB a seguir:
- Tipo string
S -
O valor de uma única string. Um valor de string do DynamoDB é retornado como uma string.
Por exemplo, se o DynamoDB retornou o seguinte valor de string do DynamoDB:
{ "S" : "some string" }O AWS AppSync o converterá em uma string:
"some string" - Tipo conjunto de strings
SS -
Um conjunto de valores de strings. Um valor de conjunto de strings do DynamoDB é retornado simplesmente como uma lista de strings.
Por exemplo, se o DynamoDB retornou o seguinte valor de conjunto de strings do DynamoDB:
{ "SS" : [ "first value", "second value", ... ] }O AWS AppSync converte-o em uma lista de strings:
[ "+1 555 123 4567", "+1 555 234 5678" ] - Tipo número
N -
Um único valor numérico. Um valor de número do DynamoDB é retornado como um número.
Por exemplo, se o DynamoDB retornou o seguinte valor de número do DynamoDB:
{ "N" : 1234 }O AWS AppSync o converterá em um número:
1234 - Tipo conjunto de números
NS -
Um conjunto de valores de números. Um valor de conjunto de números do DynamoDB é retornado simplesmente como uma lista de números.
Por exemplo, se o DynamoDB retornou o seguinte valor de conjunto de números do DynamoDB:
{ "NS" : [ 67.8, 12.2, 70 ] }O AWS AppSync converte-o em uma lista de números:
[ 67.8, 12.2, 70 ] - Tipo binário
B -
Um valor binário. Um valor binário do DynamoDB é retornado como uma string que contém a representação em base64 desse valor.
Por exemplo, se o DynamoDB retornou o seguinte valor binário do DynamoDB:
{ "B" : "SGVsbG8sIFdvcmxkIQo=" }O AWS AppSync converte-o em uma string que contém a representação em base64 do valor:
"SGVsbG8sIFdvcmxkIQo="Observe que os dados binários estão codificados no esquema de codificação base64 conforme especificado em RFC 4648
e RFC 2045 . - Tipo conjunto de binários
BS -
Um conjunto de valores binários. Um valor de conjunto de binários do DynamoDB é retornado como uma lista de strings que contém a representação em base64 dos valores.
Por exemplo, se o DynamoDB retornou o seguinte valor de conjuntos de binários do DynamoDB:
{ "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] }O AWS AppSync converte-o em uma lista de strings que contém a representação em base64 dos valores:
[ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ]Observe que os dados binários estão codificados no esquema de codificação base64 conforme especificado em RFC 4648
e RFC 2045 . - Tipo booliano
BOOL -
Um valor booleano. Um valor Booleano do DynamoDB é retornado como um Booleano.
Por exemplo, se o DynamoDB retornou o seguinte valor Booleano do DynamoDB:
{ "BOOL" : true }O AWS AppSync converte-o em um Booleano:
true - Tipo lista
L -
Uma lista de qualquer outro valor do DynamoDB compatível. Um valor de lista do DynamoDB é retornado como uma lista de valores, onde cada valor interno também é convertido.
Por exemplo, se o DynamoDB retornou o seguinte valor de lista do DynamoDB:
{ "L" : [ { "S" : "A string value" }, { "N" : 1 }, { "SS" : [ "Another string value", "Even more string values!" ] } ] }O AWS AppSync converte-o em uma lista de valores convertidos:
[ "A string value", 1, [ "Another string value", "Even more string values!" ] ] - Tipo mapa
M -
Uma coleção de chave/valor de qualquer outro valor do DynamoDB compatível. Um valor de mapa do DynamoDB é retornado como um objeto JSON, onde cada chave/valor também é convertido.
Por exemplo, se o DynamoDB retornou o seguinte valor de mapa do DynamoDB:
{ "M" : { "someString" : { "S" : "A string value" }, "someNumber" : { "N" : 1 }, "stringSet" : { "SS" : [ "Another string value", "Even more string values!" ] } } }O AWS AppSync converte-o em um objeto JSON:
{ "someString" : "A string value", "someNumber" : 1, "stringSet" : [ "Another string value", "Even more string values!" ] } - Tipo nulo
NULL -
Um valor nulo.
Por exemplo, se o DynamoDB retornou o seguinte valor nulo do DynamoDB:
{ "NULL" : null }O AWS AppSync o converterá em nulo:
null