Pular para o conteúdo principal

Visão geral

A integração OneSignal + Trino permite a sincronização de eventos personalizados do seu cluster Trino para o OneSignal para acionar campanhas de mensagens automatizadas e Journeys baseados em comportamento do usuário. Trino é um mecanismo de consulta SQL distribuído projetado para executar consultas analíticas rápidas contra grandes conjuntos de dados de múltiplas fontes.

Requisitos

Trino

  • Cluster Trino com acesso à rede
  • Credenciais de usuário com permissões apropriadas
  • Suporte a conexão TLS (exigido pelo OneSignal)
  • Dados de evento acessíveis através de catálogos Trino

Configuração

1

Configurar conexão Trino

In OneSignal, go to Data > Integrations and click Add Integration.Selecione Trino e forneça os seguintes detalhes de conexão:
  • Host: Nome do host do seu cluster Trino
  • Username: Seu nome de usuário Trino
  • Password: Sua senha Trino
  • Port: 443 (padrão) ou sua porta personalizada
O OneSignal requer uma conexão TLS para o Trino. Se sua instância não roda na porta 443, especifique sua porta personalizada.
2

Configurar Advanced Sync Engine (Opcional)

Para desempenho aprimorado, configure um catálogo CENSUS dedicado:
  1. Crie um catálogo chamado CENSUS contendo um schema chamado CENSUS
  2. Garanta que seu conector suporte:
    • Operações CREATE TABLE e DROP TABLE
    • Escritas de tabela (INSERT, DELETE, UPDATE)
    • Instrução CREATE OR REPLACE TABLE
  3. Conceda permissões completas no schema CENSUS.CENSUS ao seu usuário OneSignal
Configurações testadas incluem conectores MySQL, PostgreSQL, Snowflake, Iceberg e 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

Exemplo de Consulta de Evento

-- Example: Recent high-value events across catalogs
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 Evento Entre Catálogos

-- Example: Federated query across multiple data sources
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;

Opções do Sync Engine

Basic Sync Engine

  • Funciona com qualquer catálogo e conector Trino
  • Rastreamento de estado gerenciado pela infraestrutura OneSignal
  • Configuração mais simples sem requisitos adicionais

Advanced Sync Engine

  • Desempenho aprimorado com rastreamento de estado local
  • Requer catálogo e schema CENSUS.CENSUS dedicados
  • Suporta conectores com operações de escrita de tabela
  • Recomendado para processamento de eventos de alto volume

Conectores Suportados

O Advanced Sync Engine do OneSignal foi testado com:
  • Conector MySQL (modo leitura-escrita)
  • Conector PostgreSQL (modo leitura-escrita)
  • Conector Snowflake (modo leitura-escrita)
  • Conector Iceberg (com S3 e AWS Glue)
  • Conector Delta Lake (com AWS Glue e catálogos Starburst Galaxy)

Limitações

  • Conexão TLS obrigatória (requisito de segurança do OneSignal)
  • Advanced Sync Engine requer suporte a CREATE OR REPLACE TABLE (Trino outubro 2023+)
  • Warehouse Writeback ainda não suportado (em breve)
  • Não é possível fornecer opções de tabela personalizadas na cláusula WITH

FAQ

Quais conectores Trino funcionam com o OneSignal?

Qualquer conector que suporte operações de leitura funciona com o Basic Sync Engine. Para o Advanced Sync Engine, você precisa de conectores que suportem escritas de tabela e CREATE OR REPLACE TABLE.

Posso consultar múltiplos catálogos em uma única sincronização?

Sim! As capacidades de consulta federada do Trino permitem que você combine dados de evento de múltiplas fontes (PostgreSQL, MySQL, S3, etc.) em uma única consulta.

Eu preciso do Advanced Sync Engine?

Não, o Basic Sync Engine funciona bem para a maioria dos casos de uso. Use o Advanced Sync Engine se você precisar de desempenho aprimorado e puder configurar o catálogo CENSUS.CENSUS requerido.