Importar

DynoTable importa archivos CSV, JSON y NDJSON a una tabla existente — la otra mitad de Exportar. El archivo completo se comprueba antes de escribir una sola fila, así que un archivo con errores falla con números de línea en lugar de dejarte los datos importados a medias.

Ábrelo con el botón Importar en la barra de herramientas de la tabla. Importar escribe en la tabla, así que necesita una licencia en Prueba o Activa.

El cuadro de diálogo de importación de DynamoDB de DynoTable: el archivo elegido, sus columnas detectadas y los tipos inferidos, y una vista previa de las primeras filas.
El cuadro de diálogo de importación de DynamoDB de DynoTable: el archivo elegido, sus columnas detectadas y los tipos inferidos, y una vista previa de las primeras filas.

Importar carga datos en una tabla que ya existe — nunca crea una. Crea primero la tabla (y su clave primaria), y luego importa en ella.

Dos niveles de fidelidad

ExactaJSON / NDJSON escrito en la forma de transporte (DynamoDB-JSON). No se adivina nada: cada valor ya lleva su propio tipo, así que una exportación tomada en este formato se reimporta sin cambios. Este es el formato que hay que usar cuando los datos importan.

ConvenienciaCSV y JSON plano (sin ). Estos no llevan información de tipo, así que DynoTable infiere un tipo por columna y te muestra lo que eligió antes de confirmar. Es cómodo, y tiene pérdidas de forma documentada — consulta Dónde los archivos de conveniencia pierden información.

Columnas y tipos

Las cabeceras del archivo se convierten en nombres de atributo. La vista previa muestra cada columna con el tipo que DynoTable infirió. Haz clic derecho en la cabecera de una columna para renombrarla si la cabecera no coincide con el nombre de tu atributo, o para cambiar su Tipo de datos cuando el inferido no es el que quieres — un código de producto formado solo por dígitos, por ejemplo, que debe quedarse como texto en vez de convertirse en número.

La lista de tipos solo ofrece lo que los valores de esa columna pueden llegar a ser, así que una columna de texto plano no ofrecerá Map ni List. Si una columna solo tiene un tipo posible, no aparece ninguna lista. No hay más pantalla de mapeo que esta.

Tu archivo debe aportar la clave primaria completa de la tabla. Una fila a la que le falte un atributo de clave, o que lleve el tipo equivocado en uno, se rechaza por su nombre.

No se escribe nada hasta que pasa el archivo completo

Importar lee el archivo dos veces. La primera pasada valida cada fila y no escribe nada; solo si el archivo pasa, la segunda pasada escribe.

  • Los problemas se comunican con números de línea (o posiciones de elemento, para un array JSON), hasta 20 a la vez.
  • Dos filas con la misma clave en un archivo se rechazan, y se te muestran ambas posiciones — DynamoDB conservaría en silencio solo la última.
  • Corrige el archivo y pulsa Importar de nuevo; el cuadro de diálogo se queda en el archivo que elegiste.

Importar reemplaza los elementos coincidentes

Una fila importada reemplaza cualquier elemento existente con la misma clave primaria, atributo por atributo — no se fusiona con él. Los atributos que tenía el elemento anterior y que el archivo no tiene, desaparecen.

Importar tampoco pasa por la preparación, así que no hay paso de revisión ni reversión. A diferencia de una edición preparada, una importación no se puede deshacer desde el historial de la aplicación. Con datos que te importen, importa primero en una copia de la tabla y comprueba el resultado.

Límites

LímiteValor
Tamaño de archivo CSV / NDJSON250 MB
Un solo array .json50 MB — usa NDJSON por encima de eso
Filas por importación2.000.000
Un elemento400 KB (el límite propio de DynamoDB)

Un archivo .json contiene un único array grande que hay que analizar entero, por eso su límite es menor. NDJSON — un elemento por línea — se transmite en flujo, así que admite los 250 MB completos.

Dónde los archivos de conveniencia pierden información

Esto se aplica solo a CSV y JSON plano. El formato DynamoDB-JSON no tiene ninguno de estos problemas.

  • Los tipos se infieren a partir de una muestra de aproximadamente las primeras 200 filas. Una columna que ahí parece numérica y más adelante en el archivo deja de serlo se rechaza durante la validación — la solución es corregir el archivo.
  • Los sets y los binarios no se pueden expresar en CSV, así que no se pueden importar desde uno.
  • Las celdas vacías se omiten, no se escriben como cadenas vacías. Un elemento simplemente no tendrá ese atributo.
  • Los mapas y las listas sobreviven al viaje. La exportación los escribe en una celda CSV como texto JSON, y la importación reconoce ese texto y reconstruye la estructura. Si una columna es en realidad texto que parece JSON por casualidad, la vista previa muestra en qué se convirtió y puedes volver a poner el Tipo de datos de esa columna en String.
  • Los números muy grandes en JSON plano pierden precisión antes de que DynoTable llegue a verlos — es una limitación del propio JSON. Usa DynamoDB-JSON para los ID y los importes que deben mantenerse exactos.
  • Las marcas de seguridad para hojas de cálculo se gestionan al volver a entrar. La exportación antepone un apóstrofo a las celdas que una hoja de cálculo trataría como fórmulas. Al importar, '-5 se convierte en el número -5 y '+7 vuelve como el texto +7 — pero una fórmula genuina como '=SUM(A1) conserva su apóstrofo, de forma permanente. Quitarlo volvería a activar lo que la marca existe para desactivar.

Progreso, cancelación y errores

Una importación en curso aparece en el panel de Actividad, en la parte inferior de la barra lateral, con progreso en vivo, y sigue avanzando mientras trabajas en otras pestañas. Puedes detenerla desde ahí; las filas ya escritas se quedan escritas.

Si DynamoDB limita la tabla con la suficiente fuerza como para que algunas filas no se puedan escribir ni siquiera después de reintentos, la importación termina e indica cuántas filas no se pudieron escribir. Volver a ejecutar el mismo archivo es seguro — las filas que sí llegaron simplemente se vuelven a escribir con los mismos valores.

Las entradas de importación permanecen en el panel hasta que las descartes: una importación no produce ningún archivo que señalar, así que esa fila es el único registro de que la ejecución terminó.

Actualizado