Resumen: Este artículo explica cómo validar la existencia de registros en un clúster OpenSearch a partir de un archivo CSV, realizando comprobaciones de salud del clúster, registrando resultados en un archivo de log con marca temporal y exportando un CSV de resultados para auditoría y reporte.
Qué hace el script: Lee pares recordId y recordDate desde un CSV, realiza una comprobación previa rápida en el endpoint _cluster/health, consulta OpenSearch para verificar existencia exacta por recordId.keyword y rango de fecha para todo el día, genera un log con timestamp y produce un CSV con el estado PASS o FAIL por cada fila.
Estructura recomendada de carpetas: carpeta principal opensearch-checks, archivo .env con configuración, carpeta inputs conteniendo records.csv, carpetas logs y outputs creadas automáticamente, y el script check_records.py.
Ejemplo de inputs records.csv: primera línea cabeceras recordId,recordDate; líneas siguientes registros con formato UUID y fecha en formato AAAA-MM-DD como 2025-07-31.
Variables obligatorias en .env: OPENSEARCH_URL con la URL del clúster, OPENSEARCH_USER, OPENSEARCH_PASS, INDEX_PATTERN apuntando a pattern_de_indice/_search, INPUT_CSV con la ruta al CSV de entradas, LOG_DIR y OUTPUT_DIR con rutas para logs y resultados. El script carga estrictamente desde .env sin valores por defecto en el código.
Cliente mínimo de OpenSearch: el script incluye un cliente liviano que usa urllib para evitar dependencias HTTP externas. Soporta autenticación básica y por defecto en ejemplos de desarrollo desactiva la verificación SSL para facilitar pruebas internas. En producción se debe activar la verificación y usar certificados de confianza.
Comprobación de salud: el script ejecuta una consulta GET a _cluster/health y acepta estados green y yellow. Si el estado es red o no se puede contactar al clúster, el proceso falla rápido evitando consultas innecesarias.
Consulta de existencia: para cada par recordId y recordDate se hace una consulta bool con must de term sobre recordId.keyword y range sobre recordDate con gte recordDate 00:00:00.000 y lte recordDate 23:59:59.999. Se evalúa si hits.total.value es mayor que cero para determinar existencia.
Salida y registro: se crean logs y un CSV de resultados con nombres que incluyen timestamp en formato AAAA-MM-DD_HH-MM-SS. El CSV de resultados contiene las columnas recordId, recordDate y status donde status puede ser PASS o FAIL. El log registra una entrada por fila procesada indicando PASS o FAIL.
Cómo ejecutar: instalar dependencia para leer .env con pip install python-dotenv y luego ejecutar python check_records.py desde la carpeta del proyecto, asegurándose de que .env y inputs/records.csv estén presentes.
Notas de seguridad: en entornos de producción activar verificación SSL, usar certificados emitidos por una CA de confianza y limitar credenciales. Considerar el uso de roles y mecanismos de autenticación más robustos según la arquitectura.
Casos de uso típicos: auditorías, pipelines ETL, tareas de conciliación, verificaciones posteriores a ingestión masiva y procesos de monitoreo que requieren confirmar presencia de registros por identificador y fecha.
Buenas prácticas: validar cabeceras del CSV antes de procesar, omitir filas con valores faltantes, usar paginación o size ajustado si se extiende la lógica a recuperación de documentos, y centralizar logs para su posterior análisis.
Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones de inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure. Ofrecemos software a medida y servicios de inteligencia de negocio, incluyendo implementaciones de Power BI, agentes IA y soluciones de ia para empresas que mejoran procesos y permiten decisiones basadas en datos.
Por qué elegirnos: contamos con experiencia en aplicaciones a medida y software a medida, expertise en inteligencia artificial y proyectos de agentes IA, y prácticas de ciberseguridad integradas en el ciclo de desarrollo. Además brindamos servicios cloud AWS y Azure y soluciones de inteligencia de negocio para integrar Power BI y análisis avanzado.
Palabras clave estratégicas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.
Contacto y servicios: si necesita adaptar este script a su entorno, integrar validaciones en pipelines CI CD, o desplegar soluciones completas de análisis y seguridad, Q2BSTUDIO puede ayudar con consultoría, desarrollo y operaciones gestionadas.
Resumen final: con un enfoque sencillo y seguro se puede validar la existencia de registros en OpenSearch desde un CSV, obtener trazabilidad mediante logs y resultados CSV, y garantizar operatividad mediante una comprobación previa de la salud del clúster. Para ampliaciones y soporte profesional solicite a Q2BSTUDIO servicios de desarrollo personalizado, integración de inteligencia artificial y estrategias de ciberseguridad.