Mantener los datos actualizados

La plataforma Opendatasoft permite, dentro del mismo catálogo de datos, manejar conjuntos de datos totalmente estáticos (que necesitan publicarse una sola vez) y conjuntos de datos dinámicos (que precisan actualizaciones periódicas).

Para llevar a cabo la renovación de los conjuntos se datos, dispone de 2 mecanismos diferentes:

  • La planificación consiste en volver a publicar automáticamente un conjunto de datos en intervalos fijos. Este modo resulta de especial utilidad para los conjuntos de datos con un recurso remoto de actualización periódica.

  • El segundo consiste en insertar datos en tiempo real en la plataforma Opendatasoft mediante un extremo de API específico. Este método resulta de especial utilidad cuando los datos pueden ser enviados directamente por el sistema que produce los puntos de datos (como un programa informático que envía métricas de eventos o un conjunto de sensores que envían lecturas).

Utilizar la planificación para mantener actualizado un conjunto de datos

Nota

La disponibilidad de esta función depende de la licencia del dominio Opendatasoft.

Los conjuntos de datos pueden volver a publicarse automáticamente en intervalos fijos.

Esta solución es la más fácil de implementar. No requiere ningún desarrollo, únicamente un origen remoto y una serie de valores en la configuración del conjunto de datos.

Añadir un origen remoto

Para planificar un conjunto de datos, tiene que añadir un origen remoto, especificado como una dirección URL (HTTP o FTP) para un archivo o configurar un servicio remoto. Para obtener más información, consulte Recuperar un archivo y Configurar un servicio remoto.

Especificar el intervalo de planificación

Una vez que guarde un conjunto de datos con un origen remoto, se activa la ficha Planificación:

../../_images/scheduling_tab.png

En esta ficha, puede añadir tantas planificaciones como desee. Por ejemplo, según sus necesidades, puede decidir planificar que se vuelva a procesar un conjunto de datos todos los lunes por la mañana y miércoles por la tarde.

De forma predeterminada, el intervalo de planificación mínimo es el día. Póngase en contacto con el servicio de soporte de Opendatasoft si necesita una planificación a nivel de minutos en el dominio.

Importante

Las planificaciones están definidas para ejecutarse en la zona horaria de París, Francia:

  • En el horario estándar, las planificaciones se ejecutan en GMT+1 (Hora Central Europea).

  • En los meses de verano, las planificaciones se ejecutan en GMT+2 (Hora Central Europea de Verano).

Insertar datos en tiempo real

Nota

La disponibilidad de esta función depende de la licencia del dominio Opendatasoft.

En el caso de algunos tipos de datos, puede ser útil insertar los datos en lugar de seguir el método más tradicional por el cual la plataforma extrae los datos de un recurso. Para atender esta necesidad, la plataforma Opendatasoft ofrece una API de inserción en tiempo real.

No debe confundirse con la posibilidad de planificar el procesamiento de un conjunto de datos. Con la planificación, el conjunto de datos periódicamente extrae el recurso y procesa los datos de su interior. En cambio, con la API de inserción, una aplicación alimenta el conjunto de datos a través de una API de inserción y los registros se procesan uno a uno a medida que se reciben.

Configurar el esquema de conjunto de datos

  1. En Catálogo > Conjuntos de datos, haga clic en el botón Conjunto de datos nuevo.

  2. En el asistente que aparece, seleccione Tiempo real en la sección Configurar un servicio remoto.

  3. En el cuadro Esquema de datos en tiempo real, especifique datos de arranque. Los datos deben tener todos los campos que se enviarán a través de la API.

Nota

Los datos de arranque no se utilizan en el conjunto de datos: su única finalidad es hacer posible la configuración del conjunto de datos.

  1. Configure las opciones Información y Gestión de alertas.

  2. Recupere la dirección URL de inserción.

Utilizar la dirección URL de inserción

Después de configurar los parámetros del origen en tiempo real, aparecerá una ruta de dirección URL que contiene una clave de la API de inserción. Esta ruta, anexada a la dirección URL base del dominio, es donde la plataforma espera que se envíen los datos tras la publicación.

Los datos deben enviarse en formato JSON: o bien como un único objeto JSON para un único registro, o bien como una matriz de objetos JSON para insertar varios registros a la vez.

Este sería un ejemplo mínimo del uso de la API para un conjunto de datos con un único campo denominado message, utilizando curl:

curl -XPOST <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/push/?pushkey=<PUSH_API_KEY> -d'{"message":"Hello World!"}'

El conjunto de datos resultante es:

table view with a single record with value "Hello World!" in the "message" field

Este sería un ejemplo mínimo con el mismo conjunto de datos, utilizando el formulario de matriz para enviar varios registros a la vez:

curl -XPOST <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/push/?pushkey=<PUSH_API_KEY> -d'[{"message":"¡Hola Mundo!"},{"message":"Hallo Welt!"}]'

Si los registros se han recibido correctamente, el servidor enviará la respuesta siguiente.

{
    "status": "OK"
}

Si se ha producido un error al intentar insertar un registro, la respuesta especificará el error.

Nota

Las solicitudes push en tiempo real están limitadas a una carga útil de 5 MB. En caso de que la carga útil sea superior, se desencadenará un error y habrá que dividirla en varias solicitudes más pequeñas.

Insertar un campo de tipo archivo

Para insertar un campo de tipo imagen, es preciso enviar un objeto JSON con el contenido con codificación Base 64 y el tipo MIME del archivo:

{
    "image_field": {
        "content": "BASE64 data",
        "content-type": "image/jpg"
    }
}

Actualizar los datos definiendo una clave exclusiva

En ocasiones, es útil actualizar los registros existentes en lugar de simplemente insertar otros nuevos. Para configurar un sistema de este tipo con la plataforma Opendatasoft, los campos que se usarán a modo de clave exclusiva deben marcarse como tal.

Procedimiento

Para marcar campos a modo de clave exclusiva, siga estos pasos:

  1. En el área de vista previa de la ficha Procesadores, haga clic en el botón configuration icon del campo que desee.

  2. Seleccione ID exclusivo.

  3. Guarde y publique el conjunto de datos.

Si se inserta un registro nuevo cuyo valor clave es igual a un registro existente, el registro nuevo sobrescribirá el antiguo.

Ejemplo

Un conjunto de datos hace el seguimiento del número de copias disponibles de cada uno de los libros de una biblioteca pública:

table view with 2 records containing respectively 978-0060589462 and 978-2862744506 as isbn and 3 and 5 as number_of_copies

Supongamos que este conjunto de datos contiene 2 campos:

  • isbn, que representa el número ISBN del libro, y

  • number_of_copies, que hace el seguimiento del número actual de copias disponibles en la biblioteca.

En este caso, no tiene sentido añadir un registro para cada uno de los valores nuevos de number_of_copies. Sería mucho mejor establecer el valor number_of_copies nuevo como el registro correspondiente al valor isbn del libro.

En este ejemplo, la clave exclusiva sería isbn dado que los demás datos están vinculados con los libros individuales y estos se identifican por el ISBN.

Si el conjunto de datos tiene isbn como clave exclusiva y contiene estos 2 registros:

[
    {
        "isbn": "978-0060589462",
        "number_of_copies": 3
    }, {
        "isbn": "978-2862744506",
        "number_of_copies": 5
    }
]

Si alguien toma en préstamo una copia de ''Zen and the Art of Motorcycle Maintenance'' y se inserta el registro siguiente:

{
    "isbn": "978-0060589462",
    "number_of_copies": 2
}

Seguirá habiendo 2 registros, el primero actualizado con el valor nuevo:

table view with 2 records containing respectively 978-0060589462 and 978-2862744506 as isbn and 2 and 5 as number_of_copies

Suprimir datos

Hay 2 puntos finales que permiten suprimir los registros insertados: uno utiliza los valores de registro; y otro, el ID de registro.

Suprimir datos utilizando los valores de registro

Para suprimir un registro sabiendo los valores de los campos de registro, ejecute POST para el registro como si lo añadiera por primera vez, pero sustituya /push/ por /delete/ en la dirección URL de inserción. Si la ruta de dirección URL de inserción es /api/push/1.0/<ID_CONJUNTO_DATOS>/<ID_RECURSO>/push/?pushkey=<CLAVE_API_INSERCIÓN>, utilice en su lugar /api/push/1.0/<ID_CONJUNTO_DATOS>/<ID_RECURSO>/delete/?pushkey=<CLAVE_API_INSERCIÓN>.

A continuación se muestra un ejemplo mínimo de supresión del registro insertado anteriormente:

curl -XPOST <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/delete/?pushkey=<PUSH_API_KEY> -d'{"message":"Hello World!"}'

Suprimir datos utilizando el ID de registro

Si sabe el ID de registro del registro que desea suprimir, basta con efectuar una solicitud GET para la dirección URL que se obtiene sustituyendo /push/ por /<ID_REGISTRO>/delete/:

curl -XGET <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/<RECORD_ID>/delete/?pushkey=<PUSH_API_KEY>

Recibir una notificación en caso de inactividad

Si prevé que un sistema inserte datos en la plataforma con frecuencia, tal vez desee recibir una notificación si la plataforma no recibe ningún registro durante un tiempo.

Para recibir una notificación, siga estos pasos:

  1. En Catálogo > Conjuntos de datos, haga clic en el conjunto de datos deseado.

  2. En el origen deseado, seleccione action menu icon > Ver origen.

  3. Haga clic en Gestión de alertas.

  4. En el cuadro de diálogo que se abre, configure los parámetros de las alertas:

    • Seleccione la casilla Alertas.

    • Especifique un umbral en minutos en la casilla Alerta de inactividad.

Si no recibe ningún registro durante un intervalo de tiempo superior al umbral, se le enviará un correo electrónico.

Cancelar la publicación y desactivar la API

Al cancelar la publicación del conjunto de datos, no se conservarán los registros existentes para la próxima vez que se publique el conjunto de datos.

Para evitar obtener datos nuevos, siga estos pasos:

  1. En Catálogo > Conjuntos de datos, haga clic en el conjunto de datos deseado.

  2. En el origen deseado, seleccione action menu icon > Desactivar inserción.

De este modo se evitará el uso de la API de inserción, aunque no afectará a los datos actuales. Si se insertan datos mientras la inserción está desactivada, no se añadirán datos y se enviará un error.

Recuperar datos

En caso de pérdida de datos, por ejemplo si se ha cancelado la publicación del conjunto de datos o se ha configurado erróneamente un procesador, existe la posibilidad de recuperar los registros perdidos.

Todos los registros recibidos tienen una copia de seguridad y son válidos para someterse a un proceso de recuperación.

Para recuperar los registros válidos, siga estos pasos:

  1. En Catálogo > Conjuntos de datos, haga clic en el conjunto de datos deseado.

  2. En el origen deseado, seleccione action menu icon > Recuperar datos.