Nuevas características

Actualización del cliente de Python

A lo largo de este pasado trimestre se ha llevando a cabo la actualización de la librería del cliente de Python de Onesait Platform.

Aprovechando el lanzamiento de la versión 7.0.0-Zelda de Onesait Platform, se han lanzado una serie de actualizaciones de la librería.

Se han sacado dos actualizaciones con bastantes mejoras, correspondientes con las versiones 1.4.12 y 1.4.13 de nuestra librería. Actualmente la versión más reciente es la 1.4.15, que incluye cambios menores sobre en el manejo de excepciones y logs.

A continuación os dejamos con los cambios incluidos:

Versión 1.4.15
Versión 1.4.14

En estas versiones se han llevado a cabo cambios relacionadas con el manejo de excepciones y registros de la librería.

Aunque no se incluyen nuevos métodos o correcciones, se recomienda actualizar a la última versión disponible.

---------------------------------------------------

Versión 1.4.13

Se ha revisado la clase ApiManager y se ha observado que los endpoints a los que apuntaba no eran los correctos. Por ello, se han cambiado a otros que ofrecen la misma funcionalidad, pero pertenecientes al Control Panel:

find: busca una API REST, indicando la identificación (nombre) y la versión. Si la encuentra, devuelve la información de la API; si no la encuentra, devuelve un error. El endpoint se actualizó a /api/apis/{id}. 
create: crea una nueva API REST, pasando un objeto JSON como parámetro. Realiza un POST al endpoint /api/apis. 
delete: elimina una API, proporcionando la identificación y la versión de la API a borrar. La solicitud se realiza a /api/apis/{identification}. 
list: lista todas las APIs, tanto las del usuario como las públicas, a menos que se especifique un usuario determinado. La solicitud se realiza mediante un GET a /api/apis. 
request: esta función funciona correctamente, por lo que se mantiene tal como estaba.

---------------------------------------------------

Versión 1.4.12

En la clase DigitalClient se realizan las siguientes funciones:

raw_query_file: realiza una llamada al endpoint /REST/Ontology/{ontology}/file del Digital Broker, solicitando como parámetros la ontología (la Entidad), la sentencia a ejecutar, el tipo de sentencia (SQL o NATIVA) y el destino del archivo a generar (DISK, S3_MINIO o URL). Se realiza para generar un archivo JSON con la información sobre la consulta solicitada sobre una Entidad. 
query_file: realiza la llamada a raw_query_file, maneja la respuesta y devuelve un estado de éxito junto con los datos obtenidos, o un mensaje de error en caso de fallo. Requiere los mismos parámetros que raw_query_file: la Entidad (ontología), la sentencia a ejecutar, el tipo de sentencia (SQL o NATIVA) y el destino del archivo a generar (DISK, S3_MINIO o URL).

raw_query_file_status: realiza una llamada al endpoint /rest/ontology/file/{queryId}/status, solicitando como parámetro el queryId. Si la solicitud se realiza correctamente, puede devolver dos posibles valores: FINISHED o IN_PROGRESS. 

query_file_status: llama a la función raw_query_file_status, maneja la respuesta y devuelve un estado de éxito con los datos obtenidos o un mensaje de error en caso de fallo. Requiere el mismo parámetro que raw_query_file_status: el queryId. Además, se pueden proporcionar de manera opcional los parámetros «timeout» y «timesleep». La función irá llamando a raw_query_file_statu repetidamente; si la respuesta es IN_PROGRESS, esperará el tiempo indicado en «timesleep» antes de realizar nuevamente la solicitud. Este proceso se repetirá hasta que la respuesta sea FINISHED o se alcance el límite de tiempo establecido en «timeout». Por defecto, el timeout es de 60 segundos y el timesleep de 5 segundos.

En la clase FileManager se realizan las siguientes funciones: 

download_file_minio: realiza una llamada al panel de control, al endpoint /api/objectstorage, para descargar un archivo desde MinIo, pasando el «filepath». Maneja la respuesta y, en caso de éxito, guarda el contenido en un parámetro llamado «json_data», para su posterior uso. En caso de fallo, devuelve un mensaje de error.
 
to_pandasdataframe: toma el valor de «json_data» (o cualquier otra lista o diccionario) que se recoge con la función anterior y «aplana» su estructura. Esto permite una mejor visualización al crear el DataFrame con Pandas. Se puede especificar el tipo de separador a usar, aunque por defecto será el punto («.»). 

Imagen de cabecera: Hack a Boss

✍🏻 Author(s)

Deja una respuesta