Solución para emitir metadatos a DataHub GMS con Airflow

Guía para resolver el error Unable to emit metadata to DataHub GMS al integrar DataHub con Airflow: codifica el host para incluir /api/gms y evitar 404.

18 ago 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

DataHub es un catálogo de datos open source muy popular y una de sus funciones destacadas es la gestión de lineage o linaje de datos. Es frecuente que en entornos de ingestión y procesamiento se use Airflow, una plataforma open source para desarrollar y ejecutar flujos de trabajo. La integración de DataHub con Airflow permite extraer lineage de forma automática, pero requiere que la conexión de Airflow a DataHub esté correctamente configurada.

Un error habitual al usar el plugin de DataHub para Airflow es el mensaje Unable to emit metadata to DataHub GMS. Este error suele venir acompañado de un 404 Client Error Not Found para una URL que no contiene la ruta API correcta, indicando que la URL usada por Airflow es incorrecta.

TLDR: Hay que URL-encodear la parte host de la cadena de conexión de Airflow para que incluya el path de la API dentro del host. Ejemplo correcto: datahub-rest://my-datahub-host.net%2Fapi%2Fgms Ejemplo incorrecto: datahub-rest://my-datahub-host.net/api/gms

Explicación del problema: Airflow almacena conexiones como objetos Connection. Cuando una conexión HTTP contiene un path en la URL, Airflow espera que el path forme parte del host en la representación interna, y el campo schema se reserva para valores como http o https. Si la cadena de conexión no está URL-encoded, el parser de URIs de Airflow interpreta incorrectamente la parte con barra y mueve el path al campo schema, dejando el host sin /api/gms. El resultado es que las peticiones se envían a la URL errónea y DataHub responde 404.

Un caso típico de conexión mal parseada que genera el error es una cadena tipo datahub-rest://https://:TOKEN@my-datahub-host.net/api/gms que Airflow interpreta como host igual a https://my-datahub-host.net y schema igual a api/gms, en vez de host igual a https://my-datahub-host.net/api/gms y schema vacío.

Solución práctica: URL-encodear el host cuando crees la conexión fuera de la UI de Airflow. Por ejemplo, convierte la parte /api/gms en su representación percent encoded %2Fapi%2Fgms y usa la cadena datahub-rest://https://:TOKEN@my-datahub-host.net%2Fapi%2Fgms De esa forma el parser de Airflow asignará correctamente la ruta al host y la integración de DataHub podrá emitir metadata hacia el GMS sin problemas.

Opciones para aplicar la solución: 1) Si usas la UI de Airflow o el CLI oficial, estos suelen encargarse del encoding por ti. 2) Si gestionas conexiones desde un gestor externo como HashiCorp Vault o mediante Terraform, añade la llamada a la función de encoding adecuada, por ejemplo usando urlencode o la función de URL encoding de la plantilla que utilices, para codificar el host completo antes de almacenarlo. 3) Verifica la conexión con el comando airflow connections get CONN_ID --output yaml para comprobar cómo Airflow está interpretando host y schema.

Contexto técnico adicional: El DatahubRestHook del plugin de DataHub hereda de BaseHook de Airflow y depende de la lógica de parsing de URIs de Airflow para construir el objeto Connection. Esa lógica es la que determina si el path forma parte del host o del schema. URL-encodear evita ambigüedades y asegura que la URL final que se construye para la llamada REST sea la correcta, por ejemplo https://mi-datahub/api/gms.

Buenas prácticas: - Evitar crear conexiones sensibles directamente en la UI para entornos productivos. - Usar un backend de secretos o IaC como Terraform para gestionar las conexiones, pero recordar aplicar URL encoding a los hosts con path. - Probar la conexión desde Airflow CLI o logs de tareas para detectar errores 404 tempranos.

Caso real y lección aprendida: En nuestro entorno gestionado con Terraform descubrimos que la plantilla no estaba aplicando urlencode al host, y por eso todas las integraciones con DataHub fallaban con el error Unable to emit metadata to DataHub GMS. La corrección fue sencilla y consistió en aplicar el encoding en la variable que construye la cadena de conexión, redeployar y comprobar con airflow connections get que ahora host incluye /api/gms y schema viene vacío.

Sobre Q2BSTUDIO: En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos servicios integrales que incluyen soluciones basadas en inteligencia artificial, ia para empresas, agentes IA y proyectos de power bi para inteligencia de negocio. También somos especialistas en ciberseguridad y en la implantación de servicios cloud aws y azure. Si necesitas apoyo para integrar herramientas como DataHub y Airflow, automatizar pipelines de datos, diseñar soluciones seguras o desplegar servicios gestionados en la nube, nuestro equipo puede ayudarte a optimizar arquitecturas, aplicar buenas prácticas en gestión de conexiones y asegurar que los procesos de ingestión y lineage funcionan correctamente.

Servicios que podemos aportar en este contexto: auditoría y corrección de integraciones entre Airflow y sistemas de catálogo como DataHub, desarrollo de conectores a medida, despliegue de infraestructuras seguras en AWS y Azure, implementación de pipelines con enfoque en inteligencia de negocio y Power BI, y desarrollo de agentes IA para automatizar flujos y enriquecer metadata. Palabras clave que reflejan nuestra especialización incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Si quieres que revisemos tu implementación, mejoremos la seguridad o automatizemos la gestión de conexiones y secretos en Airflow, contacta con Q2BSTUDIO y trabajaremos una solución personalizada que evite errores como Unable to emit metadata to DataHub GMS y garantice la continuidad de tus pipelines de datos.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat