Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

BatchGetItem

Modo de enfoque
BatchGetItem - AWS AppSync GraphQL

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.

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.

El documento de mapeo de BatchGetItem solicitudes le permite indicar al solucionador de AWS AppSync DynamoDB que realice BatchGetItem una solicitud a DynamoDB para recuperar varios elementos, posiblemente de varias tablas. Para esta plantilla de solicitud, debe especificar lo siguiente:

  • Los nombres de tabla de los que recuperar los elementos

  • Las claves de los elementos que recuperar de cada tabla

Se aplican los límites de BatchGetItem de DynamoDB y no puede proporcionar ninguna expresión de condición.

El documento de mapeo de BatchGetItem tiene la siguiente estructura:

{ "version" : "2018-05-29", "operation" : "BatchGetItem", "tables" : { "table1": { "keys": [ ## Item to retrieve Key { "foo" : ... typed value, "bar" : ... typed value }, ## Item2 to retrieve Key { "foo" : ... typed value, "bar" : ... typed value } ], "consistentRead": true|false, "projection" : { ... } }, "table2": { "keys": [ ## Item3 to retrieve Key { "foo" : ... typed value, "bar" : ... typed value }, ## Item4 to retrieve Key { "foo" : ... typed value, "bar" : ... typed value } ], "consistentRead": true|false, "projection" : { ... } } } }

Los campos se definen de la siguiente manera:

BatchGetItem campos

version

La versión de la definición de plantilla. Solo se admite 2018-05-29. Este valor es obligatorio.

operation

La operación de DynamoDB que se ha de realizar. Para ejecutar la operación de DynamoDB BatchGetItem, este valor se debe establecer en BatchGetItem. Este valor es obligatorio.

tables

Las tablas de DynamoDB de las que recuperar los elementos. El valor es un mapa en el que se especifican los nombres de las tablas como claves del mapa. Al menos debe proporcionarse una tabla. Este valor tables es obligatorio.

keys

Lista de claves de DynamoDB que representan la clave principal de los elementos que se van a recuperar. Los elementos de DynamoDB pueden tener solo una clave hash o una clave hash y una clave de clasificación, dependiendo de la estructura de la tabla. Para obtener más información sobre cómo especificar un “valor con tipo”, consulte Sistema de tipos (mapeo de solicitud).

consistentRead

Si se debe utilizar una lectura coherente al ejecutar una GetItemoperación. Este valor es opcional y de forma predeterminada es falso.

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.

version

La versión de la definición de plantilla. Solo se admite 2018-05-29. Este valor es obligatorio.

operation

La operación de DynamoDB que se ha de realizar. Para ejecutar la operación de DynamoDB BatchGetItem, este valor se debe establecer en BatchGetItem. Este valor es obligatorio.

tables

Las tablas de DynamoDB de las que recuperar los elementos. El valor es un mapa en el que se especifican los nombres de las tablas como claves del mapa. Al menos debe proporcionarse una tabla. Este valor tables es obligatorio.

keys

Lista de claves de DynamoDB que representan la clave principal de los elementos que se van a recuperar. Los elementos de DynamoDB pueden tener solo una clave hash o una clave hash y una clave de clasificación, dependiendo de la estructura de la tabla. Para obtener más información sobre cómo especificar un “valor con tipo”, consulte Sistema de tipos (mapeo de solicitud).

consistentRead

Si se debe utilizar una lectura coherente al ejecutar una GetItemoperación. Este valor es opcional y de forma predeterminada es falso.

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.

Cosas que tener en cuenta:

  • Si un elemento no se ha recuperado de la tabla, aparece un elemento nulo en el bloque de datos para esa tabla.

  • Los resultados de invocación se ordenan por tabla, según el orden en el que se hayan proporcionado dentro de la plantilla de mapeo de solicitud.

  • Cada comando Get dentro de un BatchGetItem es atómico; sin embargo, un lote se puede procesar parcialmente. Si un lote se procesa parcialmente debido a un error, la claves sin procesar se devuelven como parte del resultado de invocación dentro del bloque unprocessedKeys.

  • BatchGetItem está limitado a 100 claves.

Para la siguiente plantilla de mapeo de solicitud de ejemplo:

{ "version": "2018-05-29", "operation": "BatchGetItem", "tables": { "authors": [ { "author_id": { "S": "a1" } }, ], "posts": [ { "author_id": { "S": "a1" }, "post_id": { "S": "p2" } } ], } }

El resultado de invocación disponible en $ctx.result es el siguiente:

{ "data": { "authors": [null], "posts": [ # Was retrieved { "author_id": "a1", "post_id": "p2", "post_title": "title", "post_description": "description", } ] }, "unprocessedKeys": { "authors": [ # This item was not processed due to an error { "author_id": "a1" } ], "posts": [] } }

El $ctx.error contiene detalles acerca del error. Está garantizado que los datos de claves, unprocessedKeys y cada clave de tabla que se le proporcionó en la plantilla de mapeo de solicitud estarán presentes en el resultado de invocación. Los elementos que se han eliminado aparecen en el bloque de datos. Los elementos que no se hayan procesado se marcan como null dentro del bloque de datos y se colocan dentro del bloque unprocessedKeys.

Para ver un ejemplo más completo, siga el tutorial de DynamoDB Batch que se encuentra aquí AppSync Tutorial: Resolvers por lotes de DynamoDB.

En esta página

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.