Saltearse al contenido

PostgresPrincipalComponent

El PostgresPrincipalComponent es un bloque fundamental en Nappai que te permite interactuar de manera segura y sencilla con bases de datos PostgreSQL. Piensa en este componente como un puente inteligente: conecta tu automatización con tu base de datos para que puedas leer, escribir o modificar información según necesites, sin tener que programar comandos complejos manualmente.

¿Cómo funciona?

Este componente actúa como un asistente que traduce tus intenciones a acciones en la base de datos. Cuando lo configuras, defines a dónde quieres conectar (usando una credencial segura), qué tabla o esquema deseas trabajar y qué acción deseas realizar. El componente se encarga internamente de establecer la conexión, validar tus instrucciones, ejecutar las sentencias y devolver los resultados a tu flujo de trabajo. Tú solo te preocupas por los datos que necesitas y qué quieres hacer con ellos, mientras el componente maneja la lógica técnica y la seguridad detrás de escena.

Conexión y Credenciales

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con la base de datos:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo Postgres SQL y guarda los campos requeridos (URL de conexión, Usuario, Contraseña, Host, Puerto, Base de datos).
  3. En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este nodo.

Entradas

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Number of Results: Define el número máximo de registros que el componente devolverá en la salida.
  • Operation: Permite seleccionar el tipo de operación de PostgreSQL que deseas ejecutar (por ejemplo, leer datos, actualizar registros, etc.).
  • Return All: Indica si el componente debe devolver todos los resultados disponibles o limitarlos según el valor configurado en el campo “Limit”.
  • Table Name: Selecciona la tabla de la base de datos sobre la cual deseas realizar acciones.
  • Schema: Selecciona el esquema de la base de datos donde se encuentra la tabla de interés.
  • Custom Query: Escribe tu consulta SQL aquí de forma manual. Puedes incluir comandos como SELECT, UPDATE, INSERT o DELETE. Ejemplo: SELECT * FROM users WHERE age > 25.
  • Select Filter Type: Elige cómo deseas construir las condiciones de búsqueda. Puedes usar “String Mode” para escribir condiciones en un estilo SQL simple y rápido, o “Build Manually” para usar un constructor visual que te permite seleccionar campos, operadores y valores de forma gráfica.
  • Filter String: Escribe las condiciones de búsqueda utilizando el formato indicado. Por ejemplo: age > 25 AND city = 'Madrid'. Los textos deben ir entre comillas simples 'texto', los números sin comillas, y los conectores como AND/OR deben ir en mayúsculas. Si dejas este campo vacío, se devolverán todos los registros.
  • Limit: Especifica el número máximo de filas que se devolverán al realizar una lectura.
  • Filters: Indica el número de filtros que se aplicarán para decidir qué filas se recuperarán de la base de datos.
  • Field to Update: Define cuántos campos se actualizarán en una operación de escritura o modificación de datos.
  • Mode: Selecciona cómo quieres insertar los datos: “Dynamic” (utiliza las columnas de la tabla para mapear datos automáticamente) o “Custom” (permite ingresar datos personalizados).
  • Ingest Data: Ingresa los datos que deseas insertar en la tabla de la base de datos.

Salidas

El componente produce los siguientes resultados que puedes conectar a otros nodos de tu flujo:

  • Data: Contiene los registros obtenidos de la base de datos o el resultado de la operación realizada. Este es el campo principal que usarás para trabajar con la información.
  • Database Info: Proporciona información adicional sobre el estado de la ejecución, como confirmaciones de éxito o detalles técnicos de la conexión.

Ejemplo de Respuesta JSONjson

{ “Data”: [ { “id”: 1, “name”: “Ana”, “city”: “Madrid”, “salary”: 30000 }, { “id”: 2, “name”: “Carlos”, “city”: “Barcelona”, “salary”: 45000 } ], “Database Info”: { “status”: “success”, “records_count”: 2, “message”: “Operación completada correctamente” } }

Conectividad

Este componente se integra naturalmente en flujos de automatización de datos. Es común conectar la salida Data a componentes de transformación para limpiar o formatear información, o a componentes de acción para enviar esos datos a otra aplicación. Por otro lado, la salida Database Info puede conectarse a lógicas de control de errores o a componentes de logging para monitorear el correcto funcionamiento de la operación. Para la entrada, este componente recibe instrucciones de flujo anterior que definen qué tabla tocar o qué datos insertar.

Ejemplo de Uso

Imagina que necesitas actualizar el salario de los empleados en una tabla de RRHH. Configuras el campo Operation para realizar una actualización, seleccionas tu credencial Postgres SQL, eliges la tabla employees y en Ingest Data envías los nuevos salarios. Puedes usar Filter String con department = 'Ventas' para asegurarte de que solo se actualicen los registros del departamento de Ventas. El componente procesará la solicitud y devolverá el resultado en Data, permitiéndote verificar que la actualización fue exitosa en el siguiente paso de tu automatización.

Consejos y Mejores Prácticas

  • Utiliza Custom Query con precaución y asegura que la sintaxis SQL sea válida para evitar errores de ejecución.
  • Para búsquedas sencillas, es más rápido y seguro usar Select Filter Type y Filter String en lugar de escribir consultas completas a mano.
  • Revisa siempre la salida Database Info para confirmar que la operación se completó sin errores antes de continuar con pasos críticos.
  • Cuando trabajes con grandes volúmenes de datos, usa el campo Limit para evitar cargar demasiados registros a la vez y mantener el rendimiento del flujo.
  • Mantén tus credenciales actualizadas en la sección de Credenciales de Nappai y asegúrate de usar accesos con permisos mínimos necesarios.

Consideraciones de Seguridad

  • Las contraseñas y credenciales se almacenan de forma segura en Nappai; nunca compartas estos datos directamente en los flujos o mensajes.
  • El componente está diseñado para prevenir inyecciones SQL al procesar las entradas. Asegúrate de no introducir datos externos sin verificar su procedencia al usar Custom Query.
  • Se recomienda configurar las credenciales con permisos restrictivos (solo lectura o solo escritura) según lo que necesites hacer con el componente para minimizar riesgos.