Importa y exporta datos

Como desarrollador de App Maker, puedes importar datos desde Hojas de cálculo de Google hacia Cloud SQL y exportar datos desde Cloud SQL hacia Hojas de cálculo de Google.

Los modelos de tablas de Drive se encuentran obsoletos y, si bien ya no puedes importar datos hacia ellas, aún puedes exportar datos desde las tablas.

Importa datos

Puedes importar datos de alguna de las maneras siguientes:

  • Importa datos desde una sola hoja seleccionada hacia un modelo en una implementación seleccionada.
  • Importa todos los datos desde una hoja de cálculo a todos los modelos en una implementación seleccionada y conserva todas las relaciones.

App Maker importa todos los datos de la hoja o la hoja de cálculo seleccionada según tu configuración de importación. Puedes agregar datos a un modelo o actualizar datos existentes durante una importación, pero no puedes agregar y actualizar datos al mismo tiempo. Si necesitas un control más detallado sobre qué datos importas, usa secuencias de comandos del servidor.

Requisitos de importación

Antes de importar datos, revisa los requisitos siguientes para el acceso a la app y el formato de los datos. Puedes verificar los datos de forma manual antes de importarlos, o puedes intentar importarlos. Si App Maker encuentra problemas durante la validación de datos, debes resolverlos y volver a intentarlo.

Requisitos para importar datos
Acceso
  • Acceso a la app de App Maker: debes ser el autor de la app o se debe compartir contigo (con acceso Puede editar).
  • Acceso a la implementación: tu app debe estar publicada en una implementación.
  • Acceso a la hoja: debes ser el propietario de la hoja de cálculo o se debe compartir contigo (con cualquier nivel de acceso).
Cantidad de datos Los datos están limitados por la primera condición que cumplan de las que se detallan a continuación:
  • Los datos fuente en las Hojas de cálculo de Google no pueden exceder las 5,000,000 celdas.
  • La operación de importación debe tomar menos de 30 minutos.

Esto es lo que puedes hacer para importar más datos:

  • Importar datos en lotes más pequeños. Por ejemplo, crear lotes de datos que contengan solo 500,000 celdas
  • Usar secuencias de comandos del servidor y, además, importar datos de una fuente diferente, como un archivo CSV o una base de datos. Aún aplica el límite de 30 minutos.
  • Usar las funciones de importación incorporadas de Cloud SQL.
Columnas
  • Números y nombres de las columnas: App Maker espera una columna de datos para cada campo en el modelo. La primera fila de cada columna debe contener el nombre de la columna. Los nombres de las columnas deben coincidir en el uso de mayúsculas.
  • Claves: si los registros incluyen claves, deben estar en la primera columna, que debe llamarse _key(primary-key-id). App Maker almacena la clave con el registro. Para los registros con relaciones, App Maker usa la clave a fin de asociar el registro con los registros correspondientes en otros modelos. Para obtener más información sobre las relaciones y claves, consulta Representa relaciones en las Hojas  de cálculo de Google.
  • Columnas adicionales que no se encuentran en el modelo, pero contienen datos: la hoja no puede tener columnas adicionales que contengan datos. Se aceptan columnas en blanco.
  • Columnas faltantes: no es recomendable tener columnas en blanco. Puede ser difícil agregar datos más tarde y debes usar las secuencias de comandos del servidor.
  • Orden de las columnas: excepto por la columna clave, el orden de las columnas no importa.
  • Campos requeridos: si una columna corresponde a un campo requerido en el modelo, cada celda debe contener datos, incluso si un valor predeterminado está definido. Los valores predeterminados no se aplican cuando importas campos obligatorios y las celdas vacías hacen que la validación falle. Cuando importas campos no obligatorios, se aplican los valores predeterminados.
Filas App Maker importa los datos de la hoja desde la segunda fila hasta la última fila que contiene datos. Las filas vacías se importan como registros vacíos.

Nota: Si hay campos obligatorios en el modelo, pero la hoja contiene filas vacías, la validación de datos falla.

Formatos de datos Las celdas para cualquiera de los tipos de datos siguientes pueden estar vacías. Una celda vacía se interpreta como nula para los campos de string, número y fecha, y como false para los campos booleanos. Nota: Si un campo es obligatorio, la celda no puede estar vacía, ya que fallará la validación de datos.
  • Las Strings pueden contener cualquier valor.
  • Los Números deben contener solo dígitos, con o sin punto decimal (.). Puedes usar un formato de número que contenga un punto decimal, el formato Automatic o el Plain text.
  • Los Booleanos deben ser true o false y no distinguen mayúsculas de minúsculas.
  • La Fecha, hora y zona horaria deben cumplir con la ISO 8601, como se muestra a continuación:
    • 2017-09-01T10:42:42.123-03:00
    • 2017-09-01T10:42:42.123-0300
    • 2017-09-01T10:42:42-03:00
    • 2017-09-01T10:42:42Z
    • 2017-09-01T10:42:42
    • 2017-09-01

    Si se importan los datos de hora sin especificar una zona horaria, App Maker usa la configuración de zona horaria de la app.

Relaciones Para obtener más detalles, consulta Representa relaciones en Hojas de cálculo de Google

Cómo se importan los datos

App Maker crea un registro en el modelo para cada fila importada o actualiza un registro existente si lo especificaste para la importación.

Los registros con valores _key o _key(primary-key-id) se procesan de la manera siguiente:

  • Si existe un registro con la clave y se encuentra seleccionada la actualización de datos existentes, el registro se actualiza.
  • Si no existe un registro con la clave y se encuentra seleccionada la actualización de datos existentes, no se agrega el registro.
  • Si no existe un registro con la clave y no se encuentra seleccionada la actualización de datos existentes, entonces, se crea un registro con esa clave.
  • Para los modelos de Cloud SQL con una sola clave primaria (como la columna llamada _key(id) en el ejemplo siguiente), la columna _key tiene mayor prioridad. Si el valor _key está vacío, el valor _key(id) se usa como clave primaria. Por ejemplo:

    Una captura de pantalla de una tabla con las siguientes características. La tabla tiene tres columnas: _key, _key(id) y URL. La tabla tiene tres filas: google.com, gmail.com y youtube.com.

    App Maker procesa los valores clave de la manera siguiente:

    • google.com: no tiene un valor _key, por lo que App Maker usa la clave primaria.
    • gmail.com: tiene un valor _key y una clave primaria. El valor _key anula la clave primaria.
    • youtube.com: tiene un valor _key, por lo tanto, App Maker lo usa.

Durante una operación de importación, es posible que los usuarios que ya usan la app no vean los datos importados. La visibilidad de los datos importados depende de cómo esté escrita la app y de lo que hacen los usuarios. Los usuarios verán los datos cuando vuelvan a cargar la página del navegador en la que se ejecuta la app.

Importa datos de Hojas de cálculo de Google

  1. (Opcional) verifica que los datos en la hoja cumplan con los requisitos de datos.
  2. En App Maker, abre la app a la que quieres importar datos.
  3. En el panel de navegación, haz clic en cualquier modelo.
  4. En la esquina superior izquierda, haz clic en  Importar datos de hoja (Import Data from Sheet).
  5. En la lista desplegable de Implementación publicada (Published deployment), selecciona la implementación a la que se importarán los datos.
  6. Elige un tipo de importación:
    • Para importar todos los datos de una hoja de cálculo a todos los modelos, selecciona Todos los datos de modelos y relaciones (All models and relations data).
    • Para importar datos de una sola hoja a un modelo, selecciona Datos de modelo único (Single model data).
  7. Si seleccionaste Datos de modelo único (Single model data), haz clic en la lista desplegable de Modelo (Model) y selecciona el modelo al que importarás datos.
  8. Haz clic en Seleccionar (Select), selecciona la hoja de cálculo desde la que quieres importar datos y haz clic en Seleccionar (Select) otra vez.
  9. Si seleccionaste Datos de modelo único (Single model data), haz clic en la lista desplegable de Hoja (Sheet) y selecciona la hoja que tiene los datos que deseas importar.
  10. Elige opciones para actualizar o agregar los datos:

    1. Para actualizar los datos del modelo existente con los datos importados, haz clic en keyboard_arrow_down Avanzado (Advanced) y selecciona ¿Los datos ya existen? Actualizar datos existentes (Data already exists? update existing data).

      • Los registros deben tener los valores clave _key o _key(primary-key-id). App Maker usa los valores clave para correlacionar los datos importados con los ya existentes. Los datos existentes se actualizarán.
      • No se agregan datos nuevos cuando se encuentre seleccionado ¿Los datos ya existen? Actualizar datos existentes (Data already exists? update existing data).
    2. Para agregar datos a un modelo, no selecciones ¿Los datos ya existen? Actualizar datos existentes (Data already exists? update existing data). Si seleccionaste Todos los datos de modelos y relaciones (All models and relations data), puedes borrar todos los datos existentes antes de agregar datos nuevos. Haz clic en keyboard_arrow_down Avanzado (Advanced) y selecciona Borrar todos los datos existentes antes de la importación (Delete all existing data before import).

      • Si los datos nuevos no tienen valores clave, se agregan registros nuevos y se crean valores clave para ellos. Si vuelves a importar los mismos datos sin borrar los datos existentes, se agregan los registros otra vez con claves nuevas. Tus datos del modelo contendrán registros duplicados con claves diferentes.
      • Si los datos importados tienen valores clave, los valores clave no pueden coincidir con los valores de registros existentes, excepto que borres los datos existentes. La operación de importación fallará, ya que dos registros no pueden tener la misma clave.
  11. Haz clic en Importar (Import).

    App Maker valida los datos fuente con los requisitos de datos. Si la validación se completa con éxito, App Maker importará los datos.

    Mientras las operaciones de validación y de importación están en progreso, puedes trabajar en otras páginas en el editor de App Maker. Los mensajes del estado de importación aparecen en la parte inferior de la IU de App Maker.

  12. Si App Maker genera un informe con errores, debes corregirlos en la hoja y hacer clic en Importar (Import).

  13. Cuando App Maker informe que la importación tuvo éxito, haz clic en Listo (Done).

Exporta datos

Puedes exportar datos de modelos individuales o todos los datos de una app, incluidas las relaciones. App Maker exporta todos los datos de los modelos seleccionados en la implementación seleccionada. Si necesitas un control más detallado sobre qué datos exportas, usa secuencias de comandos del servidor.

App Maker no valida los datos en la exportación. Los criterios de validación del modelo aplican solo a la entrada de datos en la IU de la app y a la importación de datos.

Requisitos de exportación

Antes de exportar datos, revisa los requisitos siguientes para el acceso a la app y el formato de datos.

Requisitos para exportar datos
Acceso
  • Acceso a la app de App Maker: debes ser el autor de la app o se debe compartir contigo (con acceso de Puede editar o Puede ver).
  • Acceso a la implementación: tu app debe estar publicada en una implementación.
  • Acceso a la hoja: serás el propietario de la hoja de cálculo, ya que App Maker la crea en tu Google Drive.
Cantidad de datos Los datos están limitados por la primera condición que cumplan de las que se detallan a continuación:
  • Los datos fuente no deben exceder las 5,000,000 de celdas.
  • La operación de importación debe tomar menos de 30 minutos.

Esto es lo que puedes hacer para exportar más datos:

  • Usar secuencias de comandos del servidor y exportar datos a un destino diferente, como un archivo CSV o una base de datos. Aún aplica el límite de 30 minutos
  • Usar las funciones de exportación incorporadas de Cloud SQL

Cómo se exportan los datos

App Maker crea una hoja de cálculo en Hojas de cálculo con las características siguientes:

Exporta datos a Hojas de cálculo de Google

  1. Abre la aplicación en App Maker.
  2. Haz clic en Configuración (Settings) settings chevron_right Implementaciones (Deployments).
  3. Haz clic en la flecha hacia abajo expand_more junto a la implementación que tiene los datos que deseas exportar y, luego, en Exportar datos (Export data).
  4. Elige una opción de exportación:

    • Para exportar todos los datos a una hoja de cálculo, selecciona Todos los datos de modelos y relaciones (All models and relations data).
    • Para exportar datos desde uno o más modelos hacia una hoja de cálculo, selecciona Datos de modelos seleccionados (Selected models data).
  5. Haz clic en Exportar (Export).

Representa relaciones en Hojas de cálculo de Google

La forma en que representas las relaciones en las Hojas de cálculo de Google depende en si la relación es de uno a uno, de varios a uno o de varios a varios.

Relaciones de uno a uno y de varios a uno

En la hoja de un modelo que usa relaciones de uno a uno o de varios a uno, las últimas columnas llevan el nombre de los extremos de relación. Los valores de columna son los nombres de clave primaria para registros asociados en los modelos.

En el ejemplo siguiente, se realizan estas acciones:

  • El modelo CompanyRating (Calificación de la empresa) sigue los datos de calificación de la empresa.
  • El modelo Company (Empresa) sigue la información de la empresa, incluidos los datos de calificación compilados.
  • El modelo CompanyRating (Calificación de la empresa) tiene una relación de varios a uno entre “Ratings” (Calificaciones) y “Company” (Empresa).
  • La última columna en la hoja CompanyRating (Calificación de la empresa) se llama “Company” (Empresa) para el extremo de la relación. Contiene los nombres de clave primaria de las empresas asociadas con cada calificación.

Relaciones de varios a varios

En las relaciones varios a varios, las relaciones se enumeran en una hoja diferente llamada nombre-relación (nombre-modelo-inicio - nombre-modelo-final) (relation-name [start-model-name - end-model-name]). Esta hoja contiene 2 columnas, una para cada uno de los modelos en la relación. Las filas enumeran pares de clave locales para todas las asociaciones. Si un registro no tiene asociaciones, no se incluirá en esta hoja.

En el ejemplo siguiente, se realizan estas acciones:

  • La hoja Company (Empresa) enumera tres empresas y la hoja Region (Región) enumera cuatro regiones.
  • La hoja Companies - CompanyRegions (Company - Region) [Empresas - Regiones de empresas (Empresa - Región)] contiene los datos de relación. “Companies - CompanyRegions” (Empresas - Regiones de empresas) es el nombre de la relación.
  • La relación varios a varios se representa con dos columnas, “Company” (Empresa) y “CompanyRegions” (Regiones de empresas), una para cada modelo en la relación. Los valores son los nombres de clave primaria de los modelos finales de la relación.
  • Los datos de la relación muestran que la empresa Vendor 3 (Proveedor 3) tiene asociaciones con dos regiones y la región de Norteamérica tiene asociaciones con dos empresas.

Para explorar aún más cómo se exportan las relaciones de modelo, puedes usar la plantilla Vendor Ratings (Calificaciones de proveedores). Implementa la app y agrégale algunos datos. Luego, exporta los datos y observa la hoja de cálculo.

Operaciones de importación y exportación simultáneas

Si bien una operación de importación o exportación a la vez siempre funciona, App Maker admite que tanto tú como otros desarrolladores de tu app realicen las operaciones simultáneas siguientes:

  • Ejecutar simultáneamente exportaciones de datos de cualquier tipo para cualquier implementación
  • Importar datos a distintas implementaciones de manera simultánea
  • Mientras importas todos los modelos y relaciones a una implementación, no puedes ejecutar de forma simultánea otro tipo de importación de datos en la misma implementación
  • Mientras importas datos a un modelo único, puedes importar datos de manera simultánea a otro modelo. Sin embargo, no puedes importar datos al mismo modelo de manera simultánea