Servicio de Recuperación de Datos Masivos

rbData: La API REST FULL para extracción de datos históricos de colecciones

RBDATALos sistemas de carga de datos de colecciones, a través de los cuales pueden proveerse contenidos por parte de proveedores en modo abierto o privado (ver este link) se almacenan en colecciones de datos históricas en un modelo BIGDATA. Estas colecciones guardan la actividad de cada ítem generado con la acción tomada sobre él. A través de esta API es posible extraer la información de cualquier colección junto con los criterios o parámetros de selección.

El servicio DataProvider

El servicio DataProvider está publicado en la siguiente URL:

https://rbdata.emtmadrid.es:8443/DataProvider

Contiene un conjunto de métodos orientados a la interacción con los sistemas de MobilityLabs. El más importante de ellos es getCollection publicado en https://rbdata.emtmadrid.es:8443/DataProvider/api/dmz/getCollection

¿Cómo puedo acceder al servicio DataProvider?

El primer requisito imprescindible es la solicitud de un identificador de cliente propio, para ello, únicamente hay que solicitar acceso a través del formulario http://opendata.emtmadrid.es/Formulario, un proceso automático se encargará de enviarte un mail indicándote la información del registro y un link de confirmación. Una vez realizado, el sistema te enviará un par de datos (idCliente y passKey).

Una vez tramitado, tendrás acceso a todas las colecciones públicas y shared de MobilityLabs. También podrás crear tus propias colecciones, utilizando el servidor de colas, aunque para ello tienes que solicitar la creación de la colección en el formulario http://mobilitylab.emtmadrid.es/portal/index.php/solicitar-nueva-coleccion/

¿Qué puedo hacer con el servicio getCollection?

Su finalidad es la extracción masiva de información histórica de cualquier colección. Es necesario suministrar los siguientes parámetros:

idCliente: Tu id personal de acceso.

passKey: Tu clave personal.

Tipo de acceso: Layers (Palabra clave fija que indica acceso a colecciones de datos).

Nombre de la colección: Nombre completo –FAMILIA+sufijo- de la colección de la que se desea extraer los datos.

La llamada a una colección denominada TRAFFICMAD.alarms sería la siguiente:

 

https://rbdata.emtmadrid.es:8443/DataProvider/api/dmz/getCollection/YOUR_idClient/YOUR_passKey/Layers/TRAFFICMAD.alarms/

Además, se debe indicar en el cuerpo de la llamada los parámetros que se recibirán en formato BSON y contendrán filtros específicos de llamada:

Por ejemplo, si en la colección TRAFFICMAD.alarms se quisiera extraer el valor de la colección correspondiente al ítem con clave “keyid” igual a PMV333 se utilizaría el formato de notación de filtro de MongoDB {“keyid”: “PMX333” }.

Los valores de filtro son combinables con todas las posibilidades que MongoDB ofrece a la hora de extraer documentos de colecciones, pues internamente el sistema realmente aplica el filtro para la extracción una vez validado.

A través de un proceso de aprobación, finalmente se crea la colección dentro de MobilityLabs, quedando autorizado el usuario para escribir en la misma. Una vez recibida la notificación, puedes realizar procesos de inserción, cambio y eliminación de datos.

Puedes ver un ejemplo de acceso a una colección en el siguiente link