Seguir los cambios de tu base de datos
Event Horizon sigue los cambios de una tabla MySQL, PostgreSQL, SQL Server o MongoDB a medida que ocurren: cada insert, update y delete llega como un evento. Activa primero el registro de cambios de la base de datos. MySQL necesita binlog_format=ROW, PostgreSQL wal_level=logical, SQL Server necesita CDC activado en la tabla y MongoDB necesita un replica set. Usa una réplica de lectura si la tienes.
Si podemos llegar a tu base de datos, añade un nodo CDC Source a un workflow, elige la base de datos, el motor y la tabla, e inicia el workflow. Primero se copian las filas existentes y después se siguen los cambios.
Si tu base de datos está en una red privada, ejecuta el agente a su lado. Solo sale tráfico HTTPS saliente de tu red, y la contraseña de la base de datos nunca sale. En la aplicación, añade un nodo Probe, elige el motor y la tabla en "Database changes via the agent", genera la clave del probe y copia su URL de ingesta. Después, en una máquina que alcance la base de datos, ejecuta:
EH_CDC_PASSWORD=... npx @event-horizon-data/agent \ --endpoint https://ingest.eventhorizondata.com/ingest/probe/<org>/<node> \ --key ehp_<key> \ --cdc mysql://eh_cdc@10.0.3.12/shop
La contraseña se lee de EH_CDC_PASSWORD, nunca de la línea de comandos. Añade --cdc-tls para TLS, --cdc-never para que ciertas columnas nunca salgan de tu red y --cdc-allow para que el agente rechace cualquier tabla que no esté en tu lista. Para varias tablas, usa bloques [[cdc]] en el archivo de configuración del agente, descritos en el README del agente.
La entrega es al menos una vez, con ids deterministas, y la posición solo avanza cuando confirmamos que guardamos los cambios. La posición se guarda de nuestro lado, así que reinstalar el agente no vuelve a copiar la tabla. Ejecuta un agente por probe: un segundo agente toma el relevo del primero. PostgreSQL mantiene un replication slot mientras el agente no está. Si retiras el agente para siempre, bórralo con SELECT pg_drop_replication_slot('eh_cdc_<node id>').