Visão geral
A integração OneSignal + Snowflake suporta dois pipelines de dados poderosos:- Saída: Envie automaticamente dados de eventos de mensagens (push, e-mail, SMS, in-app) do OneSignal para o Snowflake para análise e relatórios.
- Entrada: Sincronize eventos personalizados de usuários dos seus conjuntos de dados do Snowflake para o OneSignal para acionar Jornadas automatizadas e mensagens personalizadas.
Configuração de saída
support@onesignal.com com:- Nome da sua empresa
- ID da sua organização OneSignal
- O(s) ID(s) do app que você deseja habilitar
- Criar dashboards e relatórios personalizados
- Rastrear tendências de entrega e engajamento em todos os canais
- Combinar dados do OneSignal com outros dados de negócios para análise
- OneSignal Plano Professional (não disponível em aplicativos gratuitos)
- Conta Snowflake
- Função SECURITYADMIN ou ACCOUNTADMIN no Snowflake (para configuração)
1. Reúna os detalhes da sua conta Snowflake
Antes de configurar a integração, colete as seguintes informações da sua conta Snowflake:- Snowflake Host: A URL da sua conta no formato
<account_identifier>.snowflakecomputing.com - Nome do banco de dados: O banco de dados onde o OneSignal gravará os dados de eventos
- Nome do schema: O schema dentro do banco de dados para as tabelas do OneSignal (será criado automaticamente pelo OneSignal)
- Nome do warehouse: O warehouse a ser usado para operações de carregamento de dados

Localização do identificador da conta Snowflake
2. Execute o script de configuração no Snowflake
Execute o seguinte script SQL no seu warehouse Snowflake para criar a função, o usuário, o warehouse e o banco de dados necessários para o OneSignal:3. Gere o par de chaves para autenticação
O OneSignal requer autenticação por par de chaves para acesso seguro à sua conta Snowflake. Siga estas etapas para gerar e configurar as chaves:Gere uma chave privada
Gere a chave pública
Atribua a chave pública ao seu usuário Snowflake
<YOUR_PUBLIC_KEY_CONTENT> pelo conteúdo da chave (sem as linhas -----BEGIN PUBLIC KEY----- e -----END PUBLIC KEY-----).4. Conecte o OneSignal
Ative a integração
Insira os detalhes
- Host:
<your_account>.snowflakecomputing.com - Port: Opcional, padrão é
443 - Database: por exemplo,
ONESIGNAL - Role: Opcional, usa a função padrão do usuário se omitida
- User: por exemplo,
ONESIGNAL_USER - Private Key: Cole o conteúdo do seu arquivo de chave privada (
rsa_key.p8) - Private Key Passphrase: Opcional, somente se sua chave privada estiver criptografada
- Data processing location: Onde os dados são processados antes de enviá-los para o Snowflake
Configure a integração
- Sync Frequency: com frequência de até a cada 15 minutos
- Schema/Table Names: pré-definidos como
onesignal_events_<app-id>emessage_events(editável) - Event Types: escolha quais sincronizar—selecione todos ou apenas o que você precisa
Selecione eventos
Conclua a configuração
5. Visualize dados no Snowflake
Depois que a sincronização inicial for concluída, consulte seus dados de eventos do OneSignal:support@onesignal.com.Eventos e propriedades de mensagem
Tipos de evento de mensagem
Propriedade:event_kind
Tipo: String
O tipo de mensagem e evento (por exemplo, message.push.received, message.push.sent).
Schema de dados de evento
Para cada evento de mensagem gerado por um usuário, os seguintes metadados serão anexados ao registro.Notas
- Sincronizações após salvar/ativar podem levar 15-30 minutos adicionais para completar.
- Desativar ainda pode resultar em uma sincronização final após desativação.
- Para garantir sincronização eficiente de dados, nosso sistema cria e gerencia automaticamente datasets de staging. Estes datasets, nomeados com um padrão como
fivetran_{duas palavras aleatórias}_staging, armazenam temporariamente dados durante o processamento antes de serem integrados ao seu schema principal. Estes datasets de staging são essenciais para manter um fluxo de trabalho otimizado e não devem ser deletados, pois serão automaticamente recriados.
Migração do legado
Se você está usando atualmente a integração legada do Snowflake, esta seção aborda as principais diferenças e como migrar suas consultas.Principais diferenças
Alterações no schema
A nova integração cria colunas sob demanda. Se nenhum evento contém dados para um campo específico, essa coluna não existirá na sua tabela. Quando dados aparecem para esse campo, a coluna é criada automaticamente.Renomeações de colunas
Inferência de tipos
A nova integração usa inferência automática de tipos. Se todos os valores em uma coluna são numéricos (por exemplo, todos os seus valoresEXTERNAL_ID são números), a coluna pode ser tipada como NUMBER. Se um valor não numérico aparecer depois, o tipo da coluna é promovido para VARCHAR.
Use conversão explícita se necessário:
Migração de consultas
Para migrar consultas existentes:- Atualize referências ao banco de dados legado para apontar para seu novo banco de dados Snowflake
- Considere as renomeações de colunas listadas acima
- Adicione conversão explícita de tipos onde necessário
ONESIGNAL_DB.ONESIGNAL_EVENTS_XXXXX.MESSAGE_EVENTS pelos nomes reais do seu banco de dados, schema e tabela.Configuração de entrada
Importe dados de eventos comportamentais do Snowflake para o OneSignal para:- Acionar Jornadas com base na atividade do usuário
- Personalizar mensagens com base em dados comportamentais
- 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)
- Conta Snowflake com acesso ao warehouse
- Dados de eventos armazenados em tabelas ou visualizações do Snowflake
- Conectividade de rede do OneSignal para sua instância Snowflake
- Credenciais de usuário com permissões apropriadas
Criar função dedicada para o OneSignal
Criar warehouse dedicado
Criar usuário e conceder permissões
Criar banco de dados de contabilidade (Advanced Sync Engine)
Configurar autenticação
- Gere um par de chaves pública/privada seguindo a documentação do Snowflake
- Configure a chave pública no seu usuário Snowflake
- Use a chave privada nas configurações de conexão do OneSignal
Conectar ao OneSignal
- Account Name: Seu identificador de conta Snowflake (por exemplo,
abc123.us-east-1) - Warehouse:
CENSUS_WAREHOUSE - User:
CENSUS - Database: Nome do banco de dados dos seus dados de eventos
- Schema: Nome do schema dos seus dados de eventos
- Authentication: Key-pair (forneça a chave privada e frase secreta opcional)
Mapeamento de dados de evento
Mapeie seu para o formato de eventos personalizados do OneSignal:Esquema de tabela de eventos de exemplo
Modo de consulta SQL
Escreva consultas SQL personalizadas para transformar seus dados de eventos:Configuração avançada
Gerenciamento de custos do warehouse
- Use o tamanho de warehouse X-Small para otimização de custos
- Configure auto-suspend (60 segundos) e auto-resume
- Agende sincronizações durante horários de baixo uso
- Considere compartilhar o warehouse com outros sistemas de processamento em lote
Suporte a sincronizações ao vivo
Para processamento de eventos em tempo real, habilite o rastreamento de alterações nas suas tabelas de eventos:Segurança de rede
Se estiver usando a política de rede Allowed IPs do Snowflake, adicione os endereços IP do OneSignal à sua lista de permissões. Entre em contato com o suporte do OneSignal para obter os intervalos de IP atuais.Limitações
- Consultas analíticas complexas podem impactar o desempenho e os custos do warehouse
- A autenticação por usuário/senha será descontinuada em novembro de 2025
- O banco de dados CENSUS é reservado apenas para operações do OneSignal
FAQ
Qual método de autenticação devo usar?
Use autenticação por par de chaves (recomendado). A autenticação por usuário/senha será bloqueada pelo Snowflake a partir de novembro de 2025.Posso usar um warehouse existente?
Sim, você pode compartilhar um warehouse com outros sistemas de processamento em lote como dbt ou Fivetran para otimizar custos. Certifique-se de que o warehouse tenha capacidade suficiente para suas necessidades de processamento de eventos.Como posso otimizar custos?
- Use o tamanho de warehouse X-Small
- Configure auto-suspend agressivo (60 segundos)
- Agende sincronizações durante horários de baixo uso
- Use sincronizações horárias/diárias em vez de sincronização contínua