Amazon DynamoDB
Guía para desarrolladores (Versión de API 2012-08-10)

La API de DynamoDB

Para trabajar con Amazon DynamoDB, la aplicación debe utilizar algunas operaciones de la API sencillas. A continuación se ofrece un resumen de estas operaciones, organizadas por categorías.

Plano de control

Las operaciones del plano de control permiten crear y administrar tablas de DynamoDB. También permiten usar índices, secuencias y otros objetos que dependen de las tablas.

  • CreateTable – Crea una nueva tabla. Si lo prefiere, puede crear uno o varios índices secundarios y habilitar Flujos de DynamoDB para la tabla.

  • DescribeTable: devuelve información sobre una tabla, como su esquema de clave principal, ajustes de rendimiento e información de índices.

  • ListTables – Devuelve los nombres de todas las tablas en una lista.

  • UpdateTable: modifica los ajustes de una tabla o sus índices, crea o elimina nuevos índices en una tabla o modifica los ajustes de Flujos de DynamoDB de una tabla.

  • DeleteTable – Elimina de DynamoDB una tabla y todos los objetos que dependen de ella.

Plano de datos

Las operaciones del plano de datos permiten llevar a cabo acciones de creación, lectura, actualización y eliminación (también denominadas operaciones CRUD, por sus siglas en inglés) con los datos de una tabla. Algunas de las operaciones del plano de datos permiten también leer datos de un índice secundario.

Creación de datos

  • PutItem – Escribe un solo elemento en una tabla. Debe especificar los atributos de clave principal, pero no es preciso especificar otros atributos.

  • BatchWriteItem – Escribe hasta 25 elementos en una tabla. Resulta más eficiente que llamar a PutItem varias veces, porque la aplicación solo tiene que completar un único recorrido de ida y vuelta para escribir todos los elementos. También puede usar BatchWriteItem para eliminar varios elementos de una o varias tablas.

Lectura de datos

  • GetItem – Recupera un solo elemento de una tabla. Es preciso especificar la clave principal del elemento que se desea recuperar. Puede recuperar la totalidad del elemento o solo un subconjunto de sus atributos.

  • BatchGetItem – Recupera hasta 100 elementos de una o varias tablas. Resulta más eficiente que llamar a GetItem varias veces, porque la aplicación solo tiene que completar un único recorrido de ida y vuelta para leer todos los elementos.

  • Query – Recupera todos los elementos que tienen una clave de partición determinada. Debe especificar el valor de clave de partición. Puede recuperar la totalidad de los elementos o solo un subconjunto de sus atributos. De forma opcional, puede aplicar una condición a los valores de la clave de ordenación de tal forma que solo se recupere un subconjunto de los datos que tienen la misma clave de partición. Puede utilizar esta operación en una tabla, siempre y cuando esta tenga tanto una clave de partición como una clave de ordenación. También puede utilizar esta operación en un índice, siempre y cuando este tenga tanto una clave de partición como una clave de ordenación.

  • Scan – Recupera todos los elementos de la tabla o el índice especificados. Puede recuperar la totalidad de los elementos o solo un subconjunto de sus atributos. Si lo desea, puede aplicar una condición de filtrado para devolver solamente aquellos valores que le interesan y descartar los demás.

Actualización de datos

  • UpdateItem – Modifica uno o varios atributos de un elemento. Es preciso especificar la clave principal del elemento que se desea modificar. Puede agregar nuevos atributos, así como modificar o eliminar los existentes. También puede realizar actualizaciones condicionales, de tal forma que la actualización solamente se lleve a cabo cuando se cumpla una condición definida por el usuario. Si lo desea, puede implementar un contador atómico, que incrementa o disminuye el valor de un atributo numérico sin interferir con las demás solicitudes de escritura.

Eliminación de datos

  • DeleteItem – Elimina un solo elemento de una tabla. Es preciso especificar la clave principal del elemento que se desea eliminar.

  • BatchWriteItem – Elimina hasta 25 elementos de una o varias tablas. Resulta más eficiente que llamar a DeleteItem varias veces, porque la aplicación solo tiene que completar un único recorrido de ida y vuelta para eliminar todos los elementos. También puede usar BatchWriteItem para añadir varios elementos a una o varias tablas.

Flujos de DynamoDB

Las operaciones de Flujos de DynamoDB permiten habilitar o deshabilitar una secuencia en una tabla y obtener acceso a los registros de modificación de datos contenidos en una secuencia.

  • ListStreams – Devuelve una lista de todas las secuencias o solamente la secuencia de una tabla concreta.

  • DescribeStream – Devuelve información sobre una secuencia, como su nombre de recurso de Amazon (ARN) y sobre dónde puede comenzar la aplicación a leer los primeros registros de la secuencia.

  • GetShardIterator – Devuelve un iterador de fragmentos, que es una estructura de datos que la aplicación utiliza para recuperar los registros de la secuencia.

  • GetRecords – Recupera uno o varios registros de secuencia mediante el iterador de fragmentos especificado.

Transacciones

Las transacciones proporcionan atomicidad, coherencia, aislamiento y durabilidad (ACID, atomicity, consistency, isolation, and durability), lo que le permite mantener la exactitud de los datos en sus aplicaciones más fácilmente.

  • TransactWriteItems: una operación por lotes que permite aplicar las operaciones Put, Update y Delete a varios elementos dentro de las tablas y de distintas tablas con un resultado de "todo o nada" garantizado.

  • TransactGetItems: una operación por lotes que permite realizar operaciones Get para recuperar varios elementos de una o varias tablas.