Registro de cambios del API de Python
Changelog
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 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 («.»).