En entornos de integraci�n continua CI la calidad de datos es clave para evitar errores en producci�n y filtraciones de datos incorrectos. En este art�culo explico c�mo usar DuckDB con la extensi�n http_client para verificar que manejos de GitHub almacenados en una tabla realmente existen, ideal para añadir validaciones en pipelines de CI.

En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, ayudamos a implantar controles autom�ticos de calidad de datos en pipelines CI y a integrar estas comprobaciones con soluciones de automatizaci�n de procesos y despliegues en la nube.

Resumen r�pido de los pasos necesarios para usar DuckDB y http_client

1 Instalar y cargar la extensi�n INSTALL http_client FROM community; LOAD http_client;

2 Crear una tabla de ejemplo con manejos de GitHub CREATE OR REPLACE TABLE person_gh_member (sam_accountname varchar PRIMARY KEY, gh_member varchar NOT NULL); INSERT INTO person_gh_member (sam_accountname, gh_member) VALUES (adriens, adriens), (jdoe, johndoe), (asmith, annasmithRRRRR);

3 Consultar el estado HTTP de cada manejador usando http_get y convertir el c�digo de estado CREATE OR REPLACE VIEW v_person_gh_status AS SELECT sam_accountname, gh_member, 'https://github.com/' || gh_member AS gh_url, CAST(http_get(gh_url).status AS INTEGER) AS http_gh_status FROM person_gh_member;

4 Detectar manejos no existentes o con respuesta distinta de 200 SELECT * FROM v_person_gh_status WHERE http_gh_status <> 200;

Si quieres que la comprobaci�n sea parte del propio esquema y falle en inserciones cuando la URL no existe puedes crear una tabla con restricciones CHECK que verifiquen la estructura de la URL y que el c�digo devuelto sea 200. Ejemplo de creaci�n e inserci�n con comprobaci�n

CREATE OR REPLACE TABLE lint_gh_handle (gh_handle varchar PRIMARY KEY, gh_url varchar NOT NULL UNIQUE CHECK (gh_url LIKE 'https://github.com/%'), gh_status integer CHECK (gh_status = 200)); INSERT INTO lint_gh_handle (gh_handle, gh_url, gh_status) SELECT gh_member, 'https://github.com/' || gh_member AS gh_url, CAST(http_get(gh_url).status AS INTEGER) AS gh_status FROM person_gh_member;

Estas validaciones permiten integrar linter de datos en GitHub Actions usando acciones como GitHub Duckdb Action para ejecutar las sentencias SQL durante la fase de CI y bloquear merges si los datos no cumplen las reglas de calidad.

En Q2BSTUDIO ofrecemos implementaciones a medida que combinan software a medida, servicios cloud aws y azure, y soluciones de inteligencia de negocio y power bi para convertir estas comprobaciones en alertas y paneles operativos. Tambi�n desarrollamos proyectos de inteligencia artificial y agentes IA a medida para automatizar detecci�n de anomal�as y enriquecer la calidad de datos, siempre teniendo en cuenta la ciberseguridad para proteger tu informaci�n y procesos.

Si necesitas ayuda para implantar estas pruebas en tus pipelines CI o para desarrollar aplicaciones a medida que incorporen validaci�n de datos, IA para empresas y despliegue seguro en la nube contacta con nosotros para una soluci�n personalizada.