Saltar al contenido principal

Descripción general

La integración OneSignal + Trino habilita la sincronización de eventos personalizados desde tu clúster de Trino a OneSignal para activar campañas de mensajería automatizadas y Journeys basados en el comportamiento del usuario. Trino es un motor de consulta SQL distribuido diseñado para ejecutar consultas de análisis rápidas contra conjuntos de datos grandes de múltiples fuentes.

Requisitos

Trino

  • Clúster de Trino con acceso de red
  • Credenciales de usuario con permisos apropiados
  • Soporte de conexión TLS (requerido por OneSignal)
  • Datos de eventos accesibles a través de catálogos de Trino

Configuración

1

Configurar conexión de Trino

In OneSignal, go to Data > Integrations and click Add Integration.Selecciona Trino y proporciona los siguientes detalles de conexión:
  • Host: El hostname de tu clúster de Trino
  • Username: Tu nombre de usuario de Trino
  • Password: Tu contraseña de Trino
  • Port: 443 (predeterminado) o tu puerto personalizado
OneSignal requiere una conexión TLS a Trino. Si tu instancia no se ejecuta en el puerto 443, especifica tu puerto personalizado.
2

Configurar Motor de Sincronización Avanzado (Opcional)

Para rendimiento mejorado, configura un catálogo CENSUS dedicado:
  1. Crea un catálogo llamado CENSUS conteniendo un esquema llamado CENSUS
  2. Asegúrate de que tu conector soporte:
    • Operaciones CREATE TABLE y DROP TABLE
    • Escrituras de tabla (INSERT, DELETE, UPDATE)
    • Declaración CREATE OR REPLACE TABLE
  3. Otorga permisos completos en el esquema CENSUS.CENSUS a tu usuario de OneSignal
Las configuraciones probadas incluyen conectores de MySQL, PostgreSQL, Snowflake, Iceberg y Delta Lake.

Event data mapping

Map your to OneSignal’s custom events format:
OneSignal FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

Ejemplo de consulta de eventos

-- Ejemplo: Eventos recientes de alto valor a través de catálogos
SELECT
    event_name,
    user_id,
    event_timestamp,
    CAST(event_properties AS JSON) as event_properties
FROM catalog.schema.user_events
WHERE event_timestamp >= current_timestamp - INTERVAL '7' DAY
    AND JSON_EXTRACT_SCALAR(event_properties, '$.value') > '100'
ORDER BY event_timestamp DESC;

Consultas de eventos entre catálogos

-- Ejemplo: Consulta federada a través de múltiples fuentes de datos
SELECT
    'combined_activity' as event_name,
    u.user_id,
    current_timestamp as event_timestamp,
    JSON_FORMAT(JSON_OBJECT(
        'web_sessions', w.session_count,
        'mobile_events', m.event_count,
        'purchase_value', p.total_value
    )) as event_properties
FROM postgres_catalog.users.profiles u
LEFT JOIN web_catalog.analytics.sessions w ON u.user_id = w.user_id
LEFT JOIN mobile_catalog.events.activities m ON u.user_id = m.user_id
LEFT JOIN purchases_catalog.orders.summary p ON u.user_id = p.user_id
WHERE u.created_date >= current_date - INTERVAL '30' DAY;

Opciones de motor de sincronización

Motor de Sincronización Básico

  • Funciona con cualquier catálogo y conector de Trino
  • Seguimiento de estado gestionado por infraestructura de OneSignal
  • Configuración más simple sin requisitos adicionales

Motor de Sincronización Avanzado

  • Rendimiento mejorado con seguimiento de estado local
  • Requiere catálogo y esquema CENSUS.CENSUS dedicado
  • Soporta conectores con operaciones de escritura de tabla
  • Recomendado para procesamiento de eventos de alto volumen

Conectores soportados

El Motor de Sincronización Avanzado de OneSignal ha sido probado con:
  • Conector MySQL (modo lectura-escritura)
  • Conector PostgreSQL (modo lectura-escritura)
  • Conector Snowflake (modo lectura-escritura)
  • Conector Iceberg (con S3 y AWS Glue)
  • Conector Delta Lake (con AWS Glue y catálogos Starburst Galaxy)

Limitaciones

  • Conexión TLS requerida (requisito de seguridad de OneSignal)
  • El Motor de Sincronización Avanzado requiere soporte de CREATE OR REPLACE TABLE (Trino Octubre 2023+)
  • Warehouse Writeback aún no soportado (próximamente)
  • No se pueden proporcionar opciones de tabla personalizadas en la cláusula WITH

FAQ

¿Qué conectores de Trino funcionan con OneSignal?

Cualquier conector que soporte operaciones de lectura funciona con el Motor de Sincronización Básico. Para el Motor de Sincronización Avanzado, necesitas conectores que soporten escrituras de tabla y CREATE OR REPLACE TABLE.

¿Puedo consultar múltiples catálogos en una sola sincronización?

¡Sí! Las capacidades de consulta federada de Trino te permiten combinar datos de eventos de múltiples fuentes (PostgreSQL, MySQL, S3, etc.) en una sola consulta.

¿Necesito el Motor de Sincronización Avanzado?

No, el Motor de Sincronización Básico funciona bien para la mayoría de los casos de uso. Usa el Motor de Sincronización Avanzado si necesitas rendimiento mejorado y puedes configurar el catálogo CENSUS.CENSUS requerido.