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 queraw_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 queraw_query_file_status
: el queryId. Además, se pueden proporcionar de manera opcional los parámetros «timeout» y «timesleep». La función irá llamando araw_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.