API REST para automatizar procesos DataRefiner
Descripción
Se continua ampliando las apis de plataforma con una para poder acceder al componente DataRefiner siguiendo con la incorporación de capacidades Data Governance en la Plataforma se ha incluido este servicio , que permite cargar datos desde fichero en diferentes formatos (XL, CSV, XML, JSON) desde mi PC, trabajar con ellos para hacer una limpieza, mejora, re estructuración o conciliación de estos y devolverlos como fichero en el formato que se desee.
Ejemplo de uso
La idea de uso es el poder tratar un lote de ficheros con la misma estructura de campos. Como ejemplo se tratará un fichero de tipo excel, que puede ser descargado aquí, luego tan sólo habría que repetir la misma operación con el resto del lote tan sólo cambiando el fichero en cada ejecución :
Al lote de ficheros se le cambiará la primera columna de todos los registros para poner el texto en letras mayúsculas, es una de las numerosas transformaciones del dato posibles.
Esta es la estructura del excel a tratar en el ejemplo:
Para probarlo accedemos a las apis de control panel
Se selecciona en swagger Data Refiner
En esta opción se pulsará sobre el botón Try it out
Y se rellena los campos :
Authorization : con el token oauth 2 que se puede obtener aqui si accedemos desde la consola o desde el api Authorization si se accede por la Apis de la plataforma:
Operations: en este campo se rellenará con las operaciones de transformación o tratamiento que se pretendan dar a los datos en este caso :
{
"op": "core/text-transform",
"engineConfig": {"facets": [],"mode": "row-based"},
"columnName": "Region",
"expression": "value.toUppercase()",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column Region using expression value.toUppercase()"
}
Nota: para obtener estas operaciones se pueden obtener partiendo de la documentación de OpenRefine o creando previamente un proyecto, realizando al fichero las transformaciones y pulsando sobre el botón Extract, con esto se obtienen en formato json y permiten aplicarlas posteriormente a ficheros con la misma estructura.
exportType:
Aquí se introduce el formato del fichero de resultante, estos son los formatos posibles : csv tsv xls xlsx ods html txt
Para el ejemplo se ha seleccionado html
file:
Se adjuntará un fichero de los formatos disponibles:
'text/line-based’: Line-based text files
'text/line-based/*sv’: CSV / TSV / separator-based files [separator to be used in specified in the json submitted to the options parameter]
'text/line-based/fixed-width’: Fixed-width field text files
'binary/text/xml/xls/xlsx’: Excel files
'text/json’: JSON files
'text/xml’: XML files
En este caso del ejemplo tipo excel.
Tras pulsar botón EXECUTE
obtendremos el fichero tipo html con las operaciones realizadas sobre él, pudiéndolo descargar
Al abrirlo comprobamos que para la primera columna se ha transformado todo el texto de cada celda a mayúsculas