SaveUrl (FTP → URLs → SQL Server)
Este proyecto lee listados de archivos desde un FTP, construye URLs por archivo y guarda nuevas URLs en SQL Server (tabla URL_FTP). La ejecución genera logs “estructurados” en Kafka y envía notificación por webhook ante errores.
La documentación completa vive en la carpeta documentacion/. Si solo necesitas “por dónde empezar”, usa los links por rol de abajo.
Inicio rápido (por rol)
- Operación / soporte:
documentacion/07_RUNBOOK_OPERACION.mdydocumentacion/08_TROUBLESHOOTING.md - Despliegue en Airflow:
documentacion/04_DESPLIEGUE_AIRFLOW.mdydocumentacion/03_CONFIGURACION_VARIABLES.md - Desarrollo / mantenimiento:
documentacion/02_INSTALACION_LOCAL.md,documentacion/05_FLUJO_Y_ARQUITECTURA.mdydocumentacion/06_REFERENCIA_TECNICA_SAVEURL.md - Seguridad:
documentacion/09_SEGURIDAD_Y_SECRETS.md - Índice completo:
documentacion/00_INDICE.md
Cómo se ejecuta (dos caminos)
1) Desarrollo local (usa .env)
Para desarrollo/pruebas locales se usa .env para que cada desarrollador pueda cambiar credenciales y reproducir casos rápidamente.
- Plantilla: copiar
.env.example→.envy completar valores (nunca subir.enval repo). - Guía: ver
documentacion/02_INSTALACION_LOCAL.mdydocumentacion/03_CONFIGURACION_VARIABLES.md
Comandos típicos en Windows:
python -m venv env
.\env\Scripts\Activate.ps1
python SaveUrl.py
2) En Airflow (usa Airflow Variables)
En el entorno Airflow, la configuración se lee desde Airflow Variables (no desde .env).
- Despliegue: ver
documentacion/04_DESPLIEGUE_AIRFLOW.md - Variables requeridas: ver
documentacion/03_CONFIGURACION_VARIABLES.md
Nota: el DAG importa
SaveUrl.pydesde una ruta esperada dentro del contenedor (detalles en la guía de despliegue).
Componentes principales
SaveUrl.py: lógica de negocio (entrypointrun_save_url).dag_save_url_ftp.py: DAG que ejecutarun_save_urlen Airflow.documentacion/: documentación de operación, despliegue y referencia técnica.
Configuración
- Lista completa de variables (local y Airflow):
documentacion/03_CONFIGURACION_VARIABLES.md - Seguridad de secretos:
documentacion/09_SEGURIDAD_Y_SECRETS.md
Troubleshooting
Si ves errores de conexión a FTP/SQL Server, problemas de SSL/SASL de Kafka o fallos de webhook, empieza por: