/
Actualización del cliente de Python

Actualización del cliente de Python

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

Se han sacado dos actualizaciones, correspondientes con las versiones 1.4.12 y 1.4.13 que se detallan a continuación.

Changelog

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 («.»). 

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. 

Related content