Saltar al contenido principal

Descripción general

La integración de OneSignal + Azure Synapse permite sincronizar eventos personalizados desde su espacio de trabajo de Azure Synapse Analytics a OneSignal para activar campañas de mensajería automatizadas y Journeys basados en el comportamiento del usuario. Azure Synapse Analytics es el servicio de análisis basado en la nube de Microsoft que combina integración de datos, almacenamiento de datos y análisis.

Requisitos

Azure Synapse

  • Espacio de trabajo de Azure Synapse con acceso a SQL pool
  • Usuario de base de datos con permisos apropiados
  • Tablas de eventos que contengan datos de comportamiento estructurados
  • Acceso de firewall para direcciones IP de OneSignal

Configuración

1

Crear inicio de sesión dedicado para OneSignal

Cree un inicio de sesión dedicado y una cuenta de usuario con una contraseña fuerte y única:
USE <your-database>;

-- Crear inicio de sesión census con la capacidad de iniciar sesión con una contraseña
CREATE LOGIN CENSUS WITH PASSWORD = '<strong-unique-password>';

-- Crear usuario para el inicio de sesión
CREATE USER CENSUS FOR LOGIN CENSUS;

-- Dar al usuario census la capacidad de conectarse a la base de datos
GRANT CONNECT TO CENSUS;
Reemplace <your-database> con el nombre real de su base de datos que contiene datos de eventos.
2

Otorgar permisos de lectura

Proporcione acceso de solo lectura a sus datos de eventos:
-- Dar al usuario census la capacidad de leer todas las tablas
EXEC sp_addrolemember 'db_datareader', CENSUS;

-- Otorgar al usuario census capacidad de leer esquema y datos
-- Ejecute esto para cada esquema al que pretende que OneSignal acceda
GRANT SELECT, VIEW DEFINITION ON SCHEMA::<your-schema> TO CENSUS;
Reemplace <your-schema> con el nombre real de su esquema que contiene datos de eventos. Repita este comando para cada esquema al que desea que OneSignal acceda.
3

Configurar acceso de firewall

Configure el firewall de Azure Synapse para permitir direcciones IP de OneSignal.Use el portal de administración de Windows Azure o ejecute sp_set_firewall_rule en la base de datos principal:
-- Ejemplo: Agregar regla de firewall para rango de IP de OneSignal
EXEC sp_set_firewall_rule
    N'OneSignal Access',
    'ONESIGNAL_IP_START',
    'ONESIGNAL_IP_END';
Contacte al soporte de OneSignal para conocer los rangos de direcciones IP actuales para su región.
4

Conectar a OneSignal

In OneSignal, go to Data > Integrations and click Add Integration.Seleccione Azure Synapse y proporcione los siguientes detalles de conexión:
  • Host: El nombre de host de su endpoint SQL de Synapse
  • Port: 1433 (predeterminado)
  • Database: El nombre de su base de datos
  • Username: CENSUS
  • Password: La contraseña del Paso 1

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

Esquema de tabla de eventos de ejemplo

-- Ejemplo de tabla de eventos de Azure Synapse
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);

Modo de consulta SQL

Escriba consultas SQL personalizadas para transformar sus datos de eventos:
-- Ejemplo: Eventos recientes de alto valor
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;

Características específicas de Azure

Arquitectura distribuida

  • Eventos distribuidos por user_id para rendimiento óptimo de consultas
  • Índices de columnstore agrupados para cargas de trabajo de análisis
  • Procesamiento masivamente paralelo (MPP) para datos de eventos a gran escala

Integración con el ecosistema de Azure

  • Conéctese a Azure Data Factory para pipelines de eventos automatizados
  • Integre con Azure Event Hubs para streaming de eventos en tiempo real
  • Aproveche Azure Active Directory para autenticación

Configuración de red avanzada

OneSignal puede conectarse exitosamente a instancias de Azure Synapse que están usando controles de red avanzados que incluyen restricciones de región, listas de permitidos de direcciones IP o tunelización SSH. Para obtener más información sobre la configuración del acceso a la red, contacte a su administrador de Azure Synapse o al soporte de OneSignal.

Limitaciones

  • Basado en el protocolo de conexión del controlador JDBC de SQL Server
  • Requiere reglas de firewall explícitas para direcciones IP de OneSignal
  • Las consultas complejas pueden afectar el rendimiento y los costos del SQL pool
  • Las operaciones JSON requieren indexación cuidadosa para un rendimiento óptimo

Preguntas frecuentes

¿Puedo conectarme a múltiples esquemas de Azure Synapse?

Sí, puede otorgar al usuario CENSUS acceso a múltiples esquemas ejecutando la declaración GRANT SELECT, VIEW DEFINITION ON SCHEMA::<schema> para cada esquema que contiene datos de eventos.

¿Cómo configuro el acceso de firewall para OneSignal?

Use el portal de administración de Azure o sp_set_firewall_rule para agregar las direcciones IP de OneSignal. Contacte al soporte de OneSignal para conocer los rangos de IP actuales.

¿Cuál es la diferencia entre la integración de Azure Synapse y SQL Server?

Azure Synapse usa el mismo controlador JDBC de SQL Server pero incluye características de arquitectura distribuida y requiere configuración de firewall específica para acceso a la nube.