Pular para o conteúdo principal

Visão geral

A integração OneSignal + Azure Synapse permite a sincronização de eventos personalizados do seu workspace Azure Synapse Analytics para o OneSignal para acionar campanhas de mensagens automatizadas e Journeys com base no comportamento do usuário. Azure Synapse Analytics é o serviço de análise baseado em nuvem da Microsoft que combina integração de dados, data warehousing e análises.

Requisitos

  • Acesso a Event Streams para eventos de mensagem de saída (Limitações de plano e excedentes se aplicam)
  • Acesso a Custom Events para sincronização de eventos de entrada (Limitações de plano e excedentes se aplicam)
  • Plano de Conta Atualizado (não disponível em apps gratuitos)

Azure Synapse

  • Workspace Azure Synapse com acesso ao SQL pool
  • Usuário de banco de dados com permissões apropriadas
  • Tabelas de eventos contendo dados comportamentais estruturados
  • Acesso ao firewall para endereços IP do OneSignal

Configuração

1

Criar login dedicado para o OneSignal

Crie um login dedicado e conta de usuário com uma senha forte e única:
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;
Substitua <your-database> pelo nome real do seu banco de dados contendo dados de eventos.
2

Conceder permissões de leitura

Forneça acesso somente leitura aos seus dados de eventos:
-- 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;
Substitua <your-schema> pelo nome real do seu schema contendo dados de eventos. Repita este comando para cada schema que você deseja que o OneSignal acesse.
3

Configurar acesso ao firewall

Configure o firewall do Azure Synapse para permitir endereços IP do OneSignal.Use o Portal de Gerenciamento do Windows Azure ou execute sp_set_firewall_rule no banco de dados primário:
-- Example: Add firewall rule for OneSignal IP range
EXEC sp_set_firewall_rule
    N'OneSignal Access',
    'ONESIGNAL_IP_START',
    'ONESIGNAL_IP_END';
Entre em contato com o suporte do OneSignal para obter os intervalos de endereços IP atuais para sua região.
4

Conectar ao OneSignal

No OneSignal, vá para Data > Integrations e clique em Add Integration.Selecione Azure Synapse e forneça os seguintes detalhes de conexão:
  • Host: O hostname do seu endpoint SQL do Synapse
  • Port: 1433 (padrão)
  • Database: O nome do seu banco de dados
  • Username: CENSUS
  • Password: A senha da Etapa 1

Mapeamento de dados de evento

Mapeie seu para o formato de eventos personalizados do OneSignal:
Campo OneSignalDescriçãoObrigatório
nameevent_nameIdentificador de eventoSim
external_iduser_idIdentificador de usuárioSim
timestampevent_timestampQuando o evento ocorreuNão
propertiesevent_dataNão

Exemplo de esquema de tabela de eventos

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

Modo de consulta SQL

Escreva consultas SQL personalizadas para transformar seus dados de eventos:
-- 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;

Recursos específicos do Azure

Arquitetura distribuída

  • Eventos distribuídos por user_id para desempenho ideal de consulta
  • Índices columnstore clusterizados para cargas de trabalho de análise
  • Processamento paralelo massivo (MPP) para dados de eventos em larga escala

Integração com o ecossistema Azure

  • Conecte-se ao Azure Data Factory para pipelines de eventos automatizados
  • Integre com Azure Event Hubs para streaming de eventos em tempo real
  • Aproveite o Azure Active Directory para autenticação

Configuração avançada de rede

O OneSignal pode se conectar com sucesso a instâncias do Azure Synapse que estão usando controles avançados de rede, incluindo restrições de região, listas de permissão de endereços IP ou tunelamento SSH. Para mais informações sobre como configurar o acesso à rede, entre em contato com seu administrador do Azure Synapse ou suporte do OneSignal.

Limitações

  • Baseado no protocolo de conexão do driver JDBC do SQL Server
  • Requer regras de firewall explícitas para endereços IP do OneSignal
  • Consultas complexas podem impactar o desempenho e os custos do SQL pool
  • Operações JSON requerem indexação cuidadosa para desempenho ideal

FAQ

Posso me conectar a vários schemas do Azure Synapse?

Sim, você pode conceder ao usuário CENSUS acesso a vários schemas executando a instrução GRANT SELECT, VIEW DEFINITION ON SCHEMA::<schema> para cada schema contendo dados de eventos.

Como configuro o acesso ao firewall para o OneSignal?

Use o Portal de Gerenciamento do Azure ou sp_set_firewall_rule para adicionar os endereços IP do OneSignal. Entre em contato com o suporte do OneSignal para os intervalos de IP atuais.

Qual é a diferença entre a integração do Azure Synapse e do SQL Server?

O Azure Synapse usa o mesmo driver JDBC do SQL Server, mas inclui recursos de arquitetura distribuída e requer configuração específica de firewall para acesso à nuvem.