Se você estiver usando o Snowflake com a integração legada do OneSignal, consulte o guia Integração Legada do Snowflake. Veja Migração do legado para etapas de migração.
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
Isto está atualmente em acesso antecipado.
Para solicitar acesso, entre em contato com
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:Você pode personalizar os valores das variáveis no topo do script para corresponder às suas convenções de nomenclatura. Se você estiver usando um warehouse ou banco de dados existente, modifique o script de acordo.
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:1
Gere uma chave privada
Execute um dos seguintes comandos para gerar uma chave privada:Chave privada não criptografada (mais simples, mas menos segura):Chave privada criptografada (recomendado para produção):Se usar uma chave criptografada, você será solicitado a criar uma frase secreta. Salve esta frase secreta com segurança—você precisará dela ao configurar o OneSignal.
2
Gere a chave pública
Gere a chave pública a partir da sua chave privada:
3
Atribua a chave pública ao seu usuário Snowflake
Copie o conteúdo do arquivo de chave pública (excluindo as linhas de cabeçalho e rodapé) e execute este comando SQL no Snowflake:Substitua
<YOUR_PUBLIC_KEY_CONTENT> pelo conteúdo da chave (sem as linhas -----BEGIN PUBLIC KEY----- e -----END PUBLIC KEY-----).4. Conecte o OneSignal
1
Ative a integração
No OneSignal, navegue até Data > Integrations > Snowflake.
2
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
3
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
4
Selecione eventos
Selecione os eventos que você deseja receber no seu warehouse Snowflake.
5
Conclua a configuração
Clique em Save e aguarde a confirmação de sucesso
A sincronização inicial de dados pode levar de 15 a 30 minutos para aparecer no Snowflake.Enquanto espera, envie mensagens por push, e-mail, in-app ou SMS para acionar os eventos selecionados.
5. Visualize dados no Snowflake
Depois que a sincronização inicial for concluída, consulte seus dados de eventos do OneSignal:Se você encontrar problemas como schemas ausentes, erros de permissão ou eventos malformados, entre em contato com
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
Substitua
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
1
Criar função dedicada para o OneSignal
Crie uma hierarquia de funções seguindo as melhores práticas do Snowflake:
2
Criar warehouse dedicado
Crie um warehouse com custo otimizado para operações do OneSignal:
3
Criar usuário e conceder permissões
Crie o usuário do OneSignal e conceda acesso aos seus dados de eventos:
4
Criar banco de dados de contabilidade (Advanced Sync Engine)
Crie um banco de dados privado para gerenciamento de estado de sincronização do OneSignal:
5
Configurar autenticação
Configure a autenticação por par de chaves (recomendado) para maior segurança:
- 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
6
Conectar ao OneSignal
No OneSignal, vá para Data > Integrations e clique em Add Integration.Selecione Snowflake e forneça os seguintes detalhes de conexão:
- 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:A Sync Key é a coluna que você designa como o identificador exclusivo de cada linha durante a sincronização. O OneSignal a utiliza para detectar se uma linha já foi processada, de modo que ressincronizar seus dados não crie eventos duplicados. Escolha uma coluna com um valor de texto exclusivo por linha. Não use um booleano nem um valor que se repita entre as linhas.
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