Ana içeriğe atla

Genel Bakış

OneSignal + Trino entegrasyonu, kullanıcı davranışına dayalı otomatik mesajlaşma kampanyaları ve Journey’leri tetiklemek için Trino kümenizden OneSignal’e özel olayların senkronize edilmesini sağlar. Trino, birden fazla kaynaktan büyük veri kümeleri üzerinde hızlı analitik sorguları çalıştırmak için tasarlanmış dağıtık bir SQL sorgu motorudur.

Gereksinimler

Trino

  • Ağ erişimi olan Trino kümesi
  • Uygun izinlere sahip kullanıcı kimlik bilgileri
  • TLS bağlantısı desteği (OneSignal tarafından gereklidir)
  • Trino katalogları aracılığıyla erişilebilir olay verileri

Kurulum

1

Trino bağlantısını yapılandırın

In OneSignal, go to Data > Integrations and click Add Integration.Trino’yu seçin ve aşağıdaki bağlantı ayrıntılarını sağlayın:
  • Host: Trino küme ana bilgisayar adınız
  • Username: Trino kullanıcı adınız
  • Password: Trino şifreniz
  • Port: 443 (varsayılan) veya özel portunuz
OneSignal, Trino’ya bir TLS bağlantısı gerektirir. Örneğiniz 443 numaralı bağlantı noktasında çalışmıyorsa, özel bağlantı noktanızı belirtin.
2

Gelişmiş Senkronizasyon Motorunu Yapılandırın (İsteğe Bağlı)

Gelişmiş performans için özel bir CENSUS katalogu kurun:
  1. CENSUS adlı bir şema içeren CENSUS adlı bir katalog oluşturun
  2. Konektörünüzün şunları desteklediğinden emin olun:
    • CREATE TABLE ve DROP TABLE işlemleri
    • Tablo yazmaları (INSERT, DELETE, UPDATE)
    • CREATE OR REPLACE TABLE ifadesi
  3. CENSUS.CENSUS şeması üzerinde OneSignal kullanıcınıza tam izinler verin
Test edilen yapılandırmalar arasında MySQL, PostgreSQL, Snowflake, Iceberg ve Delta Lake konektörleri bulunur.

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

Örnek Olay Sorgusu

-- 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;

Kataloglar Arası Olay Sorguları

-- 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;

Senkronizasyon Motoru Seçenekleri

Temel Senkronizasyon Motoru

  • Herhangi bir Trino katalogu ve konektörü ile çalışır
  • Durum takibi OneSignal altyapısı tarafından yönetilir
  • Ek gereksinim olmadan daha basit kurulum

Gelişmiş Senkronizasyon Motoru

  • Yerel durum takibi ile gelişmiş performans
  • Özel CENSUS.CENSUS katalogu ve şeması gerektirir
  • Tablo yazma işlemlerine sahip konektörleri destekler
  • Yüksek hacimli olay işleme için önerilir

Desteklenen Konektörler

OneSignal’in Gelişmiş Senkronizasyon Motoru şunlarla test edilmiştir:
  • MySQL konektörü (okuma-yazma modu)
  • PostgreSQL konektörü (okuma-yazma modu)
  • Snowflake konektörü (okuma-yazma modu)
  • Iceberg konektörü (S3 ve AWS Glue ile)
  • Delta Lake konektörü (AWS Glue ve Starburst Galaxy katalogları ile)

Sınırlamalar

  • TLS bağlantısı gereklidir (OneSignal güvenlik gereksinimi)
  • Gelişmiş Senkronizasyon Motoru CREATE OR REPLACE TABLE desteği gerektirir (Trino Ekim 2023+)
  • Warehouse Writeback henüz desteklenmiyor (yakında gelecek)
  • WITH yan tümcesinde özel tablo seçenekleri sağlanamaz

SSS

OneSignal ile hangi Trino konektörleri çalışır?

Okuma işlemlerini destekleyen herhangi bir konektör Temel Senkronizasyon Motoru ile çalışır. Gelişmiş Senkronizasyon Motoru için, tablo yazmalarını ve CREATE OR REPLACE TABLE’ı destekleyen konektörlere ihtiyacınız vardır.

Tek bir senkronizasyonda birden fazla katalogu sorgulayabilir miyim?

Evet! Trino’nun federe sorgu yetenekleri, tek bir sorguda birden fazla kaynaktan (PostgreSQL, MySQL, S3, vb.) olay verilerini birleştirmenize olanak tanır.

Gelişmiş Senkronizasyon Motoruna ihtiyacım var mı?

Hayır, Temel Senkronizasyon Motoru çoğu kullanım senaryosu için iyi çalışır. Gelişmiş performansa ihtiyacınız varsa ve gerekli CENSUS.CENSUS katalogunu kurabiliyorsanız Gelişmiş Senkronizasyon Motorunu kullanın.