Ana içeriğe atla

Genel Bakış

OneSignal + Azure Synapse entegrasyonu, kullanıcı davranışına dayalı otomatik mesajlaşma kampanyaları ve Journey’leri tetiklemek için Azure Synapse Analytics çalışma alanınızdan OneSignal’a özel olayların senkronize edilmesini sağlar. Azure Synapse Analytics, veri entegrasyonu, veri ambarı ve analitiği birleştiren Microsoft’un bulut tabanlı analitik hizmetidir.

Gereksinimler

Azure Synapse

  • SQL havuz erişimi olan Azure Synapse çalışma alanı
  • Uygun izinlere sahip Veritabanı kullanıcısı
  • Yapılandırılmış davranışsal veriler içeren Olay tabloları
  • OneSignal IP adresleri için Güvenlik duvarı erişimi

Kurulum

1

OneSignal için özel oturum açma oluşturun

Güçlü, benzersiz bir şifreyle özel bir oturum açma ve kullanıcı hesabı oluşturun:
USE <your-database>;

-- Create census login with the ability to sign in with a password
CREATE LOGIN CENSUS WITH PASSWORD = '<strong-unique-password>';

-- Create user for the login
CREATE USER CENSUS FOR LOGIN CENSUS;

-- Give the census user the ability to connect to database
GRANT CONNECT TO CENSUS;
<your-database>’i olay verilerini içeren gerçek veritabanı adınızla değiştirin.
2

Okuma izinleri verin

Olay verilerinize salt okunur erişim sağlayın:
-- Give the census user the ability to read all tables
EXEC sp_addrolemember 'db_datareader', CENSUS;

-- Grant census user ability to read schema and data
-- Run this for each schema you intend OneSignal to access
GRANT SELECT, VIEW DEFINITION ON SCHEMA::<your-schema> TO CENSUS;
<your-schema>’yi olay verilerini içeren gerçek şema adınızla değiştirin. OneSignal’ın erişmesini istediğiniz her şema için bu komutu tekrarlayın.
3

Güvenlik duvarı erişimini yapılandırın

OneSignal IP adreslerine izin vermek için Azure Synapse güvenlik duvarını yapılandırın.Windows Azure Yönetim Portalı’nı kullanın veya birincil veritabanında sp_set_firewall_rule çalıştırın:
-- Example: Add firewall rule for OneSignal IP range
EXEC sp_set_firewall_rule
    N'OneSignal Access',
    'ONESIGNAL_IP_START',
    'ONESIGNAL_IP_END';
Bölgeniz için geçerli IP adresi aralıkları için OneSignal destek ile iletişime geçin.
4

OneSignal'a bağlanın

In OneSignal, go to Data > Integrations and click Add Integration.Azure Synapse’i seçin ve aşağıdaki bağlantı ayrıntılarını sağlayın:
  • Host: Synapse SQL uç nokta sunucu adınız
  • Port: 1433 (varsayılan)
  • Database: Veritabanı adınız
  • Username: CENSUS
  • Password: Adım 1’den şifre

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 Tablo Şeması

-- Example Azure Synapse event table
CREATE TABLE analytics.user_events (
    event_id BIGINT IDENTITY(1,1) PRIMARY KEY,
    event_name NVARCHAR(100) NOT NULL,
    user_id NVARCHAR(255) NOT NULL,
    event_timestamp DATETIME2 DEFAULT GETUTCDATE(),
    event_data NVARCHAR(MAX),
    session_id NVARCHAR(255),
    device_type NVARCHAR(50)
)
WITH (DISTRIBUTION = HASH(user_id), CLUSTERED COLUMNSTORE INDEX);

SQL Sorgu Modu

Olay verilerinizi dönüştürmek için özel SQL sorguları yazın:
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_data
FROM analytics.user_events
WHERE event_timestamp >= DATEADD(day, -7, GETUTCDATE())
    AND JSON_VALUE(event_data, '$.value') > 100
ORDER BY event_timestamp DESC;

Azure’a Özel Özellikler

Dağıtılmış Mimari

  • Optimal sorgu performansı için user_id’ye göre dağıtılmış olaylar
  • Analitik iş yükleri için kümelenmiş columnstore indeksleri
  • Büyük ölçekli olay verileri için yüksek düzeyde paralel işleme (MPP)

Azure Ekosistemiyle Entegrasyon

  • Otomatik olay hatları için Azure Data Factory’ye bağlanın
  • Gerçek zamanlı olay akışı için Azure Event Hubs ile entegre edin
  • Kimlik doğrulama için Azure Active Directory’den yararlanın

Gelişmiş Ağ Yapılandırması

OneSignal, bölge kısıtlamaları, IP adresi izin listeleri veya SSH Tünelleme dahil gelişmiş ağ kontrolleri kullanan Azure Synapse örneklerine başarıyla bağlanabilir. Ağ erişimini yapılandırma hakkında daha fazla bilgi için Azure Synapse yöneticinizle veya OneSignal destek ile iletişime geçin.

Sınırlamalar

  • SQL Server JDBC sürücü bağlantı protokolüne dayalıdır
  • OneSignal IP adresleri için açık güvenlik duvarı kuralları gerektirir
  • Karmaşık sorgular SQL havuz performansını ve maliyetlerini etkileyebilir
  • JSON işlemleri optimal performans için dikkatli indeksleme gerektirir

SSS

Birden fazla Azure Synapse şemasına bağlanabilir miyim?

Evet, olay verileri içeren her şema için GRANT SELECT, VIEW DEFINITION ON SCHEMA::<schema> ifadesini çalıştırarak CENSUS kullanıcısına birden fazla şemaya erişim izni verebilirsiniz.

OneSignal için güvenlik duvarı erişimini nasıl yapılandırırım?

OneSignal’ın IP adreslerini eklemek için Azure Yönetim Portalı’nı veya sp_set_firewall_rule’u kullanın. Geçerli IP aralıkları için OneSignal destek ile iletişime geçin.

Azure Synapse ve SQL Server entegrasyonu arasındaki fark nedir?

Azure Synapse aynı SQL Server JDBC sürücüsünü kullanır ancak dağıtılmış mimari özellikleri içerir ve bulut erişimi için özel güvenlik duvarı yapılandırması gerektirir.