
OneSignal Databricks entegrasyonuna genel bakış
Genel Bakış
OneSignal + Databricks entegrasyonu iki yönlü veri senkronizasyonunu destekler:- Analitik, kontrol panelleri ve raporlama için OneSignal mesaj olaylarını Databricks’e aktarın.
- Yolculukları ve kişiselleştirilmiş kampanyaları tetiklemek için Databricks’ten OneSignal’e özel olayları içe aktarın.
OneSignal Olaylarını Databricks’e Aktarma
Gerçek zamana yakın analitik ve görünürlük için OneSignal’den push, e-posta, uygulama içi ve SMS olaylarını Databricks lakehouse’unuza senkronize edin. Gereksinimler- Profesyonel Plan
- Özel Olaylar etkinleştirilmiş (olay içe aktarmaları için)
- Databricks Platformu: AWS, Azure veya GCP
- Databricks Planı: Premium veya üzeri
- Databricks Unity Catalog (yönetişim için önerilir)
- Sorgulama için Databricks SQL Warehouse
- Delta Lake olay tabloları (özel olay içe aktarma için)
1. SQL Warehouse Detaylarını Toplayın
Databricks çalışma alanınızda oturum açın
Warehouse'unuzu seçin
Aşağıdaki detayları kaydedin
- Server Hostname
- Port
- HTTP Path

Fivetran kurulumu için Databricks SQL bağlantı detayları
2. Bir Service Principal Oluşturun
Service Principals sayfasına gidin
Yeni bir service principal ekleyin
Service principal'ı adlandırın
onesignal-sync).
Service principal ekleme modalı, 'Add new' seçeneği vurgulanmış
3. Bir Secret Oluşturun
Oluşturulan principal'a tıklayın
Secrets sekmesine gidin
Bir secret oluşturun

API kimlik doğrulaması için OAuth secret ve client ID'yi gösteren Databricks 'Generate secret' modalı
4. İzinleri Atayın
Catalog'unuza gidin ve Permissions sekmesini açın
Grant'e tıklayın
Service principal'a aşağıdaki izinleri atayın
- USE CATALOG
- USE SCHEMA
- SELECT
- MODIFY
- CREATE SCHEMA
- CREATE TABLE

Özel catalog izinleri seçilmiş bir Databricks principal için yetki atama ekranı.
5. OneSignal’i Bağlayın
Entegrasyonu etkinleştirin
Detayları girin
- Server Hostname
- Port
- HTTP Path
- Catalog Name
- Schema Name
- Service Principal kimlik bilgileri (ID + Secret)

Catalog, hostname, HTTP path ve OAuth kimlik bilgileri için alanları içeren OneSignal Databricks Yapılandırma formu.
Entegrasyonu yapılandırın
- Sync Frequency: her 15 dakikada bir kadar sık
- Dataset/Table Names:
onesignal_events_<app-id>vemessage_eventsolarak önceden ayarlanmıştır (düzenlenebilir) - Event Types: hangi olayların senkronize edileceğini seçin—tümünü veya yalnızca ihtiyacınız olanları seçin
Olayları seçin

Senkronizasyon durumunu, veri seti yapılandırmasını ve seçili mesaj olay türlerini gösteren OneSignal olay dışa aktarma ayarları ekranı.
Kurulumu tamamlayın
6. Databricks’te Verileri Görüntüleyin
- Databricks’te Catalog’unuzu açın.
- Senkronizasyon tamamlandığında, yapılandırılmış şemanız görünecektir.
-
message_eventstablosuna erişin ve sorgulayın.
Bir üretim şeması altında OneSignal mesaj olayları tablosunu gösteren Databricks Catalog görünümü.
-
Örnek veri önizlemesi için tablolara tıklayın.

Senkronize edilmiş OneSignal olay alanları ile message_events_1 tablosundan örnek veriler.
support@onesignal.com ile iletişime geçin.Message events and properties
Message event kinds
Property:event_kind
Type: String
The kind of message and event (e.g. message.push.received, message.push.sent).
| Message Event (OneSignal) | event_kind | Description |
|---|---|---|
| Push Sent | message.push.sent | Push notification successfully sent. |
| Push Received | message.push.received | Delivered push (see Confirmed Delivery). |
| Push Clicked | message.push.clicked | User clicked the push. |
| Push Failed | message.push.failed | Delivery failure. See message reports. |
| Push Unsubscribed | message.push.unsubscribed | User unsubscribed from push. |
| In-App Impression | message.iam.displayed | In-App message shown. |
| In-App Clicked | message.iam.clicked | In-App message clicked. |
| In-App Page Viewed | message.iam.pagedisplayed | In-App page shown. |
| Email Sent | message.email.sent | Email delivered. |
| Email Received | message.email.received | Email accepted by recipient’s mail server. |
| Email Opened | message.email.opened | Email opened. See Email Reports. |
| Email Link Clicked | message.email.clicked | Link in email clicked. |
| Email Unsubscribed | message.email.unsubscribed | Recipient unsubscribed. |
| Email Marked Spam | message.email.resporedasspam | Marked as spam. See Email Deliverability. |
| Email Bounced | message.email.hardbounced | Bounce due to permanent delivery failure. |
| Email Failed | message.email.failed | Delivery failed. |
| Email Suppressed | message.email.supressed | Suppressed due to suppression list. |
| SMS Sent | message.sms.sent | SMS sent. |
| SMS Delivered | message.sms.delivered | SMS successfully delivered. |
| SMS Failed | message.sms.failed | SMS failed to deliver. |
| SMS Undelivered | message.sms.undelivered | SMS rejected or unreachable. |
Event data schema
For each message event generated by a user, the following metadata will be attached to the record.| Column Name | Type | Description |
|---|---|---|
event_id | UUID | Unique identifier for the event |
event_timestamp | Timestamp | Time of event occurrence |
event_kind | String | The Event Kind |
subscription_device_type | String | Device type (e.g., iOS, Android, Web, Email, SMS) |
language | String | Subscription language code |
version | String | Integration version |
device_os | String | Device operating system version |
device_type | Number | Numeric device type |
token | String | Push token, phone number, or email |
subscription_id | UUID | Subscription ID |
subscribed | Boolean | Subscription status |
onesignal_id | UUID | OneSignal user ID |
last_active | String | Last active timestamp |
sdk | String | OneSignal SDK version |
external_id | String | External user ID that should match the integration user ID |
app_id | UUID | App ID from OneSignal |
template_id | UUID | Template ID (if applicable) |
message_id | UUID | Message batch/request ID |
message_name | String | Name of the message |
message_title | String | Message title (English only) |
message_contents | String | Truncated message body (English only) |
_created, _id, _index, _fivetran_synced | Internal use | Fivetran sync metadata |
Notes
- Syncs after saving/activating may take an additional 15-30 minutes to complete.
- Deactivating may still result in one final sync after deactivation.
- To ensure efficient data synchronization, our system automatically creates and manages staging datasets. These datasets, named with a pattern like
fivetran_{two random words}_staging, temporarily store data during processing before it’s integrated into your main schema. These staging datasets are essential for maintaining a streamlined workflow and should not be deleted, as they will be automatically recreated.
Databricks’ten Olayları İçe Aktarma
Aşağıdakiler için Databricks’ten OneSignal’e davranışsal olay verilerini gönderin:- Kullanıcı etkinliğine dayalı Yolculukları tetikleyin
- Davranışsal verilere dayalı mesajlaşmayı kişiselleştirin
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
- SQL Warehouse veya compute cluster ile Databricks workspace
- Uygun izinlere sahip Personal Access Token
- Delta Lake formatında davranışsal veriler içeren Olay veri tabloları
- Unity Catalog (veri yönetişimi için önerilir)
Databricks Personal Access Token Oluşturun
- Databricks çalışma alanınızda User Settings’e gidin
- Developer sekmesine ve ardından Access tokens’a tıklayın
- Generate new token’a tıklayın
- “OneSignal Integration” gibi bir yorum girin ve son kullanma tarihi belirleyin (90 gün önerilir)
- Oluşturulan token’ı kaydedin (OneSignal için buna ihtiyacınız olacak)
SQL Warehouse erişimini yapılandırın
- Databricks çalışma alanınızda SQL Warehouses’a gidin
- OneSignal erişimi için bir SQL Warehouse seçin veya oluşturun
- Bağlantı detaylarından Server Hostname ve HTTP Path’i not edin
- Warehouse’un olay veri tablolarınıza erişimi olduğundan emin olun
Tablo izinlerini verin
OneSignal'de entegrasyonu ekleyin
- Server Hostname: Databricks SQL Warehouse hostname’iniz
- HTTP Path: SQL Warehouse HTTP path’i
- Personal Access Token: 1. adımda oluşturulan token
- Catalog (isteğe bağlı): Unity Catalog kullanıyorsanız Unity Catalog adı
Olay veri kaynağını yapılandırın
- Database/Schema: Olay tablolarını içeren veritabanı veya şema adı
- Table: Olay kayıtlarını içeren tablo adı (örneğin,
user_events) - Event Query: Olay verilerini filtrelemek veya dönüştürmek için isteğe bağlı SQL sorgusu
- Olay adı/türü (String)
- Kullanıcı tanımlayıcısı (String)
- Olay zaman damgası (Timestamp)
- Ek olay özellikleri
Bağlantıyı test edin
Event data mapping
Map your to OneSignal’s custom events format:| OneSignal Field | Description | Required | |
|---|---|---|---|
name | event_name | Event identifier | Yes |
external_id | user_id | User identifier | Yes |
timestamp | event_timestamp | When event occurred | No |
properties | event_data | No |
Gelişmiş Yapılandırma
Unity Catalog Entegrasyonu
Yönetilen veri erişimi için Unity Catalog’dan yararlanın:Delta Lake Optimizasyonu
Daha iyi sorgu performansı için olay tablolarını optimize edin:- Partitioning: Daha hızlı zamana dayalı sorgular için tarihe göre bölümlendirin (
event_date) - Z-Ordering: Daha iyi filtreleme için
user_idveevent_name’e göre Z-order uygulayın - Delta Lake Features: Otomatik optimizasyon için liquid clustering kullanın
Streaming Event Processing
Gerçek zamanlı olay işleme için şunları göz önünde bulundurun:- Structured Streaming: Olayları geldikçe işleyin
- Delta Live Tables: Sağlam olay işleme hattları oluşturun
- Auto Loader: Yeni olay dosyalarını sürekli olarak alın