Files
save-url-main/documentacion/02_INSTALACION_LOCAL.md
T
2026-05-09 14:20:17 -04:00

2.5 KiB

Instalación local (desarrollo / diagnóstico)

Objetivo

Aunque el flujo está pensado para ejecutarse en Airflow, esta guía sirve para:

  • reproducir fallos fuera del scheduler
  • validar conectividad a FTP/SQL/Kafka
  • ejecutar pruebas manuales de parsing de URLs

Requisitos

  • Windows (PowerShell) o Linux/macOS con Python 3.x
  • Driver ODBC para SQL Server (recomendado: ODBC Driver 18 for SQL Server)
  • Acceso de red a:
    • servidor FTP (FTP_000oqta_SERVER)
    • SQL Server (DB_MSSQ_SERVER)
    • Kafka (BOOTSTRAP_SERVERS o BOOTSTRAP_SERVERS_DOCKER, según corresponda)

Crear entorno virtual

En PowerShell:

cd d:\ProgramGLM\SaveUrl
python -m venv env
.\env\Scripts\Activate.ps1
python -m pip install --upgrade pip

Instalar dependencias

El código importa al menos:

  • requests
  • pyodbc
  • kafka (librería kafka-python / kafka-python-ng)
  • apache-airflow (porque SaveUrl.py usa airflow.models.Variable)

Instalación típica (ajusta según tu entorno):

pip install requests pyodbc kafka-python apache-airflow

Nota: instalar Airflow localmente en Windows puede ser complejo. Si tu objetivo es solo ejecutar localmente, considera ejecutar en un contenedor Linux o adaptar temporalmente el código para leer variables desde os.getenv/.env. Esta documentación no modifica el código.

Variables para ejecución local

El SaveUrl.py actual lee configuración desde Airflow Variables (Variable.get). Para ejecutar fuera de Airflow tienes 2 opciones:

  1. Ejecutar dentro de un entorno Airflow (recomendado) y definir las Variables.
  2. Crear un “shim” local: arrancar un script wrapper que inicialice Airflow y cargue Variables. (Esto depende de cómo esté configurado tu Airflow local).

Por eso, para validación local rápida sin Airflow, lo más útil suele ser:

  • probar funciones aisladas (FTP/SQL) en un REPL, o
  • ejecutar dentro de un contenedor Airflow/Composer donde ya existan las Variables.

Ejecución manual (si ya estás dentro de Airflow)

Si Airflow ya está instalado/configurado y el archivo está en el path correcto, puedes invocar:

python -c "from SaveUrl import run_save_url; run_save_url()"

Verificación mínima

  • FTP: confirma que existe el path base esperado: FTP_BASE_PATH + <code_folder>
  • SQL: valida conexión ODBC al servidor y permisos de INSERT/SELECT sobre URL_FTP
  • Kafka: valida que el broker esté accesible y el topic executions_logs exista (o que el broker permita auto-create)