Vue d’ensemble
L’intégration OneSignal + Databricks prend en charge deux flux :- Exporter : Envoyez les événements de message OneSignal vers Databricks pour l’analyse et les rapports.
- Importer : Envoyez les événements personnalisés depuis Databricks vers OneSignal pour déclencher des Journeys et personnaliser les campagnes.
Exporter les événements de message OneSignal vers Databricks
Synchronisez tous vos événements de message depuis OneSignal dans votre lakehouse Databricks pour des analyses et une visibilité en temps quasi réel. Prérequis- Plan Professional ou supérieur
- Événements personnalisés activés (pour les importations d’événements)
- Plateforme Databricks : AWS, Azure ou GCP
- Plan Databricks : Premium ou supérieur
- Databricks Unity Catalog (recommandé pour la gouvernance)
- Databricks SQL Warehouse pour les requêtes
- Tables d’événements Delta Lake (pour l’importation d’événements personnalisés)
1. Collecter les détails du SQL warehouse
Connectez-vous à votre espace de travail Databricks
Sélectionnez votre warehouse
Enregistrez les détails suivants
- Server Hostname
- Port
- HTTP Path

2. Créer un service principal
Accédez à la page Service Principals
Ajoutez un nouveau service principal
Nommez le service principal
onesignal-sync).
3. Générer un secret
Cliquez sur le principal créé
Accédez à l'onglet Secrets
Générez un secret

4. Attribuer les permissions
Accédez à votre Catalogue et ouvrez l'onglet Permissions
Cliquez sur Grant
Attribuez les permissions suivantes au service principal
- USE CATALOG
- USE SCHEMA
- SELECT
- MODIFY
- CREATE SCHEMA
- CREATE TABLE

5. Connecter OneSignal
Activez l'intégration
Entrez les détails
- Server Hostname
- Port
- HTTP Path
- Catalog Name
- Schema Name
- Identifiants du service principal (ID + Secret)

Configurez l'intégration
- Fréquence de synchronisation : toutes les 15 minutes au minimum
- Noms de jeu de données/table : prédéfinis comme
onesignal_events_<app-id>etmessage_events(modifiable) - Types d’événements : choisissez ceux à synchroniser—sélectionnez tout ou seulement ce dont vous avez besoin
Sélectionnez les événements

Terminez la configuration
6. Voir les données dans Databricks
- Ouvrez votre Catalogue dans Databricks.
- Une fois la synchronisation terminée, votre schéma configuré apparaîtra.
-
Accédez à la table
message_eventset interrogez-la.
-
Cliquez sur les tables pour un aperçu des données d’exemple.

support@onesignal.com.Événements et propriétés de message
Types d’événements de message
Propriété :event_kind
Type : String
Le type de message et d’événement (par exemple message.push.received, message.push.sent).
Schéma des données d’événement
Pour chaque événement de message généré par un utilisateur, les métadonnées suivantes seront jointes à l’enregistrement.Notes
- Les synchronisations après l’enregistrement/l’activation peuvent prendre 15 à 30 minutes supplémentaires pour se terminer.
- La désactivation peut toujours entraîner une dernière synchronisation finale après la désactivation.
- Pour garantir une synchronisation efficace des données, notre système crée et gère automatiquement des ensembles de données intermédiaires. Ces ensembles de données, nommés selon un modèle comme
fivetran_{deux mots aléatoires}_staging, stockent temporairement les données pendant le traitement avant qu’elles ne soient intégrées dans votre schéma principal. Ces ensembles de données intermédiaires sont essentiels pour maintenir un flux de travail rationalisé et ne doivent pas être supprimés, car ils seront automatiquement recréés.
Importer des événements depuis Databricks
Envoyez des données d’événements comportementaux depuis Databricks vers OneSignal pour :- Déclencher des Journeys basés sur l’activité de l’utilisateur
- Personnaliser les messages en fonction des données comportementales
- Accès aux Event Streams pour les événements de message sortants (Les limitations de forfait et les dépassements s’appliquent)
- Accès aux Événements personnalisés pour la synchronisation des événements entrants (Les limitations de forfait et les dépassements s’appliquent)
- Forfait de compte mis à jour (non disponible sur les applications gratuites)
- Espace de travail Databricks avec SQL Warehouse ou cluster de calcul
- Personal Access Token avec les permissions appropriées
- Tables de données d’événements contenant des données comportementales au format Delta Lake
- Unity Catalog (recommandé pour la gouvernance des données)
Créer un Personal Access Token Databricks
- Accédez à User Settings dans votre espace de travail Databricks
- Cliquez sur l’onglet Developer puis Access tokens
- Cliquez sur Generate new token
- Entrez un commentaire comme “OneSignal Integration” et définissez l’expiration (recommandé 90 jours)
- Enregistrez le jeton généré (vous en aurez besoin pour OneSignal)
Configurer l'accès SQL Warehouse
- Accédez à SQL Warehouses dans votre espace de travail Databricks
- Sélectionnez ou créez un SQL Warehouse pour l’accès OneSignal
- Notez le Server Hostname et le HTTP Path depuis les détails de connexion
- Assurez-vous que le warehouse a accès à vos tables de données d’événements
Accorder les permissions de table
Ajouter l'intégration dans OneSignal
- Server Hostname : Le nom d’hôte de votre SQL Warehouse Databricks
- HTTP Path : Chemin HTTP du SQL Warehouse
- Personal Access Token : Jeton créé à l’étape 1
- Catalog (optionnel) : Nom du Unity Catalog si vous utilisez Unity Catalog
Configurer la source de données d'événements
- Database/Schema : Nom de la base de données ou du schéma contenant les tables d’événements
- Table : Nom de la table avec les enregistrements d’événements (par ex.,
user_events) - Event Query : Requête SQL optionnelle pour filtrer ou transformer les données d’événements
- Nom/type d’événement (String)
- Identifiant utilisateur (String)
- Horodatage de l’événement (Timestamp)
- Propriétés d’événements supplémentaires
Tester la connexion
Mappage des données d’événement
Mappez vos au format des événements personnalisés de OneSignal :Configuration avancée
Intégration Unity Catalog
Exploitez Unity Catalog pour un accès aux données gouverné :Optimisation Delta Lake
Optimisez les tables d’événements pour de meilleures performances de requête :- Partitionnement : Partitionnez par date (
event_date) pour des requêtes temporelles plus rapides - Z-Ordering : Z-order par
user_idetevent_namepour un meilleur filtrage - Fonctionnalités Delta Lake : Utilisez le liquid clustering pour une optimisation automatique
Traitement des événements en streaming
Pour le traitement des événements en temps réel, envisagez :- Structured Streaming : Traitez les événements au fur et à mesure de leur arrivée
- Delta Live Tables : Construisez des pipelines de traitement d’événements robustes
- Auto Loader : Ingérez continuellement de nouveaux fichiers d’événements