Descripción general
La integración de OneSignal + ClickHouse permite la sincronización automática de eventos personalizados desde su base de datos de análisis ClickHouse a OneSignal. Esto le permite activar Journeys automatizados y campañas de mensajería personalizadas basadas en datos de comportamiento del usuario almacenados en su base de datos columnar de alto rendimiento.Requisitos
- Acceso a flujos de eventos para eventos de mensajes salientes (Se aplican limitaciones del plan y sobrecargos)
- Acceso a eventos personalizados para sincronización de eventos entrantes (Se aplican limitaciones del plan y sobrecargos)
- Plan de cuenta actualizado (no disponible en aplicaciones gratuitas)
ClickHouse
- Servidor ClickHouse (autoalojado o en la nube)
- Credenciales de base de datos con acceso de lectura a las tablas de eventos
- Tablas de datos de eventos que contengan datos de comportamiento con el esquema adecuado
Configuración
1
Crear usuario de ClickHouse para OneSignal
Cree una cuenta de usuario dedicada para OneSignal con acceso de solo lectura a sus tablas de eventos:
2
Configurar el acceso a la red
Asegúrese de que OneSignal pueda conectarse a su instancia de ClickHouse:
- Autoalojado: Permita conexiones desde las direcciones IP de OneSignal
- ClickHouse Cloud: Agregue las IPs de OneSignal a su lista de permitidos
- Puerto: El puerto predeterminado de ClickHouse es 8123 (HTTP) o 9000 (nativo)
3
Agregar integración en OneSignal
En OneSignal, vaya a Datos > Integraciones y haga clic en Agregar integración.Seleccione ClickHouse y proporcione:
- Host: El nombre de host o IP de su servidor ClickHouse
- Port: Puerto de ClickHouse (predeterminado: 8123 para HTTP, 9000 para nativo)
- Database: Nombre de la base de datos que contiene las tablas de eventos
- Username:
onesignal_reader(o el nombre de usuario que eligió) - Password: Contraseña para el usuario de ClickHouse
- Protocol: HTTP o Native (se recomienda HTTP por simplicidad)
4
Configurar la fuente de datos de eventos
Especifique la tabla de ClickHouse que contiene sus datos de eventos:
- Table: Nombre de la tabla que contiene registros de eventos (por ejemplo,
user_events) - Event Query: Consulta SQL opcional para filtrar o transformar datos de eventos
- Nombre/tipo de evento (String)
- Identificador de usuario (String)
- Marca de tiempo del evento (DateTime)
- Propiedades adicionales del evento (JSON o columnas individuales)
5
Probar la conexión
Haga clic en Test Connection para verificar que OneSignal pueda acceder a su base de datos de ClickHouse y leer los datos de eventos.
Mapeo de datos de eventos
Mapee su de al formato de eventos personalizados de OneSignal:| Campo de OneSignal | Descripción | Requerido | |
|---|---|---|---|
name | event_name | Identificador de evento | Sí |
external_id | user_id | Identificador de usuario | Sí |
timestamp | event_timestamp | Cuándo ocurrió el evento | No |
properties | event_data | No |
Configuración avanzada
Consultas SQL personalizadas
Use SQL personalizado para filtrar o transformar datos de eventos antes de sincronizarlos con OneSignal:Optimización del rendimiento
ClickHouse está optimizado para consultas analíticas. Considere:- Particionamiento: Use particionamiento basado en fechas en la marca de tiempo del evento
- Indexación: Cree índices apropiados en user_id y event_name
- Vistas materializadas: Preagregue los datos de eventos para consultas más rápidas