Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Examen
El documento de mapeo de Scan
solicitudes le permite indicar al solucionador de AWS AppSync DynamoDB que realice Scan
una solicitud a DynamoDB y le permite especificar lo siguiente:
-
Un filtro para excluir resultados
-
Qué índice utilizar.
-
Cuántos elementos deben devolverse.
-
Si se utilizarán lecturas coherentes.
-
Token de paginación
-
Exámenes en paralelo
El documento de mapeo de Scan
tiene la siguiente estructura:
{ "version" : "2017-02-28", "operation" : "Scan", "index" : "fooIndex", "limit" : 10, "consistentRead" : false, "nextToken" : "aPaginationToken", "totalSegments" : 10, "segment" : 1, "filter" : { ... }, "projection" : { ... } }
Los campos se definen de la siguiente manera:
Campos de Scan
-
version
-
La versión de la definición de plantilla
2017-02-28
y2018-05-29
se admiten actualmente. Este valor es obligatorio. -
operation
-
La operación de DynamoDB que se ha de realizar. Para ejecutar la operación de DynamoDB
Scan
, este valor se debe establecer enScan
. Este valor es obligatorio. -
filter
-
Un filtro que se puede utilizar para filtrar los resultados de DynamoDB antes de que se devuelvan. Para obtener más información acerca de los filtros, consulte Filtros. Este campo es opcional.
-
index
-
El nombre del índice que se consultará. La operación de consulta de DynamoDB permite escanear en índices secundarios locales y globales además de hacerlo en el índice de clave principal de una clave hash. Si se especifica, indica a DynamoDB que debe consultar el índice especificado. Si se omite, se consultará el índice de clave principal.
-
limit
-
El número máximo de elementos que se evalúan en una sola vez. Este campo es opcional.
-
consistentRead
-
Valor booleano que indica si se utilizarán lecturas coherentes al consultar DynamoDB. Este campo es opcional y de forma predeterminada es
false
. -
nextToken
-
El token de paginación para continuar una consulta anterior. Se debe obtener de una consulta anterior. Este campo es opcional.
-
select
-
De forma predeterminada, el solucionador de AWS AppSync DynamoDB solo devuelve los atributos que se proyectan en el índice. Si se necesitan más atributos, este campo se puede configurar. Este campo es opcional. Los valores admitidos son:
-
ALL_ATTRIBUTES
-
Devuelve todos los atributos de elementos de la tabla o el índice especificados. Si consulta un índice secundario local, DynamoDB recupera todo el elemento de la tabla principal para cada elemento coincidente en el índice. Si el índice está configurado para proyectar todos los atributos de los elementos, todos los datos se pueden obtener del índice secundario local y no es necesario efectuar una recuperación.
-
ALL_PROJECTED_ATTRIBUTES
-
Permitido solo al consultar un índice. Recupera todos los atributos que se han proyectado en el índice. Si el índice está configurado para proyectar todos los atributos, este valor de retorno equivale a especificar
ALL_ATTRIBUTES
. SPECIFIC_ATTRIBUTES
-
Devuelve solo los atributos que aparecen en la
expression
de laprojection
. Este valor devuelto equivale a especificar laexpression
de laprojection
sin especificar ningún valor paraSelect
.
-
-
totalSegments
-
El número de segmentos para dividir en particiones la tabla al realizar un examen paralelo. Este campo es opcional, pero debe especificarse si se indica
segment
. -
segment
-
El segmento de tabla de esta operación al realizar un examen en paralelo. Este campo es opcional, pero debe especificarse si se indica
totalSegments
. projection
-
Proyección que se utiliza para especificar los atributos que se devolverán de la operación de DynamoDB. Para obtener más información acerca de las proyecciones, consulte la sección Proyecciones. Este campo es opcional.
Los resultados devueltos por el escaneo de DynamoDB se convierten automáticamente en GraphQL y tipos primitivos JSON y están disponibles en el contexto de mapeo (). $context.result
Para obtener más información sobre la conversión de tipos de DynamoDB, consulte la sección Sistema de tipos (mapeo de respuestas).
Para obtener más información acerca de las plantillas de mapeo de respuesta, consulte Información general sobre las plantillas de mapeo de solucionador.
Los resultados tienen la estructura siguiente:
{ items = [ ... ], nextToken = "a pagination token", scannedCount = 10 }
Los campos se definen de la siguiente manera:
-
items
-
Una lista que contiene los elementos que devuelve el análisis de DynamoDB.
-
nextToken
-
Si hay más resultados,
nextToken
contiene un token de paginación que puede usar en otra solicitud. AWS AppSync cifra y oculta el token de paginación devuelto por DynamoDB. Esto evita que los datos de las tablas se filtren accidentalmente al intermediario. Además, estos tokens de paginación no se pueden utilizar en diferentes solucionadores. -
scannedCount
-
El número de elementos que DynamoDB ha recuperado antes de aplicar una expresión de filtro (en caso de incluirse).
Ejemplo 1
El siguiente ejemplo muestra una plantilla de mapeo de una consulta de GraphQL: allPosts
.
En este ejemplo, se devuelven todas las entradas de la tabla.
{ "version" : "2017-02-28", "operation" : "Scan" }
Ejemplo 2
El siguiente ejemplo muestra una plantilla de mapeo de una consulta de GraphQL: postsMatching(title: String!)
.
En este ejemplo, todas las entradas de la tabla se devuelven donde el título comienza con el argumento title
.
{ "version" : "2017-02-28", "operation" : "Scan", "filter" : { "expression" : "begins_with(title, :title)", "expressionValues" : { ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title) }, } }
Para obtener más información sobre DynamoDB, consulte la documentación de Scan
API DynamoDB. API