Saltar al contenido principal

Pipelines de datos

Los agentes sirven tanto como los datos que puedan alcanzar. Los pipelines mueven datos entre bases de datos según un cronograma, usando la misma infraestructura de workers y eventos que ejecuta tus agentes.

Se gestionan en Dashboard → Data.

El modelo

Tres objetos reutilizables, al estilo Airbyte:

ObjetoQué es
OrigenDe dónde vienen los datos — una instancia configurada de un conector
DestinoA dónde van
ConexiónUn par origen + destino, más qué sincronizar y cuándo

Orígenes y destinos se reutilizan entre conexiones, así configurás una base de datos una sola vez y sincronizás varias tablas desde ella. También podés crearlos al vuelo mientras armás una conexión.

Conectores

La versión 1 trae Postgres → Postgres, con conexiones reales a nivel driver.

El registro de conectores está diseñado para que los nuevos — APIs REST, orígenes de marca como Stripe o GitHub — se agreguen registrando un archivo de conector en lugar de rehacer el sistema.

:::note Credenciales Las credenciales de conexión se cifran en reposo con AES-256-GCM, el mismo esquema que usan tus claves LLM, y se descifran únicamente dentro del worker. Los hosts de los conectores se validan antes de conectar: localhost, rangos IP privados y el endpoint de metadatos de la nube están bloqueados salvo que se permitan explícitamente. :::

Armar una conexión

  1. Elegí o creá un origen. Cargá los datos de conexión y usá Test connection para verificar antes de guardar.
  2. Descubrí los streams. La plataforma lee el esquema del origen, así elegís tablas en vez de escribir nombres.
  3. Elegí o creá un destino.
  4. Configurá la sincronización — modo, modo de escritura y opcionalmente una transformación.
  5. Definí un cronograma, o dejala manual.

Modos de sincronización

ModoComportamiento
FULL_REFRESHLee la tabla de origen completa en cada ejecución
INCREMENTALLee solo las filas más nuevas que la última ejecución, rastreadas por un campo cursor

CDC aparece en el esquema como valor declarado pero no está implementado — elegirlo no hace nada hoy.

Las sincronizaciones incrementales retoman desde el cursor guardado por la última ejecución exitosa, así que una que falla no saltea filas ni las lee dos veces.

Modos de escritura

ModoComportamiento
OVERWRITEReemplaza el contenido de la tabla destino
APPENDAgrega filas a lo que ya está

Transformaciones

Una conexión puede llevar SQL post-carga que corre contra el destino una vez que los datos aterrizaron. Es la vía de escape para usuarios avanzados — deduplicar, reformar, cruzar con tablas existentes.

El mapeo fila por fila en el stream no está disponible; las transformaciones ocurren después de la carga.

Programación

Las conexiones corren según una expresión cron con zona horaria. El planificador despierta en el próximo horario de cada conexión y encola una sincronización — el mismo planificador genérico que maneja las ejecuciones programadas de agentes.

Siempre podés disparar una ejecución al instante con Sync now.

Seguir una sincronización

Una sincronización es una ejecución como cualquier otra. Pasa por:

PENDINGRUNNINGCOMPLETED / FAILED / CANCELLED

Los datos fluyen en lotes con paginación por keyset, así la memoria se mantiene acotada sin importar el tamaño de la tabla, y el progreso se persiste sobre la marcha. El avance en vivo aparece por SSE, igual que en una ejecución de agente.

Dashboard → Data lista cada conexión con su última sincronización, filas movidas y éxito o fallo.

Facturación

Las sincronizaciones son gratis — corren contra tu propia infraestructura y no consumen tokens LLM.