Pular para o conteúdo principal

Visão geral

A integração OneSignal + Amazon Athena permite a sincronização automática de eventos personalizados do seu data lake Athena diretamente para a API de Eventos Personalizados do OneSignal. Isso permite acionar Jornadas automatizadas e campanhas de mensagens personalizadas com base no comportamento real do usuário armazenado em sua infraestrutura de dados AWS. Você pode sincronizar eventos como compras, visualizações de produtos, mudanças de assinatura ou quaisquer ações personalizadas do usuário para acionar automaticamente sequências de onboarding, campanhas de reengajamento, mensagens transacionais e promoções direcionadas através de notificações push, email, mensagens no aplicativo e SMS.

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)

Amazon Athena

  • Conta AWS com acesso ao Athena
  • Grupo de Trabalho Athena configurado (padrão: “primary”)
  • Bucket S3 de Resultados de Consulta para saídas de consulta do Athena
  • Permissões IAM para acesso ao Athena, S3 e AWS Glue
  • Dados de eventos armazenados no S3 e catalogados no AWS Glue

Configuração

Configurar permissões da AWS

O OneSignal precisa de permissões específicas para consultar seus dados de eventos através do Athena. Crie uma política IAM com as seguintes permissões:
1

Criar política IAM

Crie uma política IAM que inclua estas permissões:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:GetQueryResultsStream",
                "athena:GetQueryResults",
                "athena:CreatePreparedStatement",
                "athena:DeletePreparedStatement",
                "glue:GetTable",
                "glue:GetTables",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:glue:<region>:<aws-account-id>:table/<database>/*",
                "arn:aws:glue:<region>:<aws-account-id>:database/<database>",
                "arn:aws:glue:<region>:<aws-account-id>:catalog",
                "arn:aws:athena:<region>:<aws-account-id>:workgroup/<workgroup>",
                "arn:aws:s3:::<query-results-bucket>",
                "arn:aws:s3:::<query-results-bucket>/*",
                "arn:aws:s3:::<event-data-bucket>",
                "arn:aws:s3:::<event-data-bucket>/*"
            ]
        }
    ]
}
Substitua os espaços reservados pela sua região AWS real, ID da conta, nome do banco de dados, grupo de trabalho e nomes dos buckets.
2

Criar usuário ou função IAM

Crie um usuário IAM para o OneSignal e anexe a política criada acima, ou prepare-se para usar acesso baseado em função.
3

Anotar detalhes de conexão

Colete as seguintes informações:
  • ID da Chave de Acesso AWS e Chave de Acesso Secreta (se usar usuário IAM)
  • URL do Bucket de Resultados de Consulta S3
  • Região AWS
  • Grupo de Trabalho Athena (padrão: “primary”)

Configurar conexão Athena do OneSignal

1

Navegar para integrações

No OneSignal, vá para Data > Integrations e clique em Add Integration.
2

Selecionar Amazon Athena

Escolha Amazon Athena da lista de integrações disponíveis.
3

Inserir detalhes de conexão

Forneça as informações de conexão do Athena:
  • ID da Chave de Acesso AWS: Sua chave de acesso de usuário IAM
  • Chave de Acesso Secreta AWS: Sua chave secreta de usuário IAM
  • Região AWS: Sua região Athena
  • Bucket de Resultados de Consulta S3: URL para saídas de consulta
  • Grupo de Trabalho Athena: Nome do seu grupo de trabalho
4

Testar a conexão

Clique em Testar Conexão para verificar se o OneSignal pode acessar sua instância Athena e executar consultas.

Alternativa: Acesso baseado em função

Para segurança aprimorada, você pode usar funções IAM em vez de chaves de acesso:
1

Habilitar acesso baseado em função

Nas configurações de conexão Athena, marque Usar Função e deixe as chaves de acesso em branco.
2

Criar função IAM

No Console AWS, crie uma função IAM com:
  • Entidade Confiável: Outra Conta AWS
  • ID da Conta: 341876425553 (conta AWS do OneSignal)
  • ID Externo: O ID mostrado no OneSignal (aparece após tentativa inicial de conexão)
  • Permissões: A política IAM criada acima
3

Completar a conexão

Insira o ARN da Função no OneSignal e teste a conexão.

Mapeamento de Dados de Eventos

Depois de conectado, você precisará mapear suas tabelas Athena para os campos de eventos personalizados do OneSignal:
1

Selecionar tabelas de eventos

Escolha as tabelas ou views contendo seus dados de eventos que você deseja sincronizar com o OneSignal.
2

Mapear campos de eventos obrigatórios

Mapeie os campos obrigatórios para eventos personalizados:
  • Nome do Evento: Coluna contendo o tipo de evento (ex: “purchase”, “signup”)
  • Identificador do Usuário: ID de Usuário Externo, Email ou coluna de Número de Telefone
  • Timestamp do Evento: Quando o evento ocorreu (opcional)
3

Mapear dados de payload do evento

Mapeie colunas adicionais para propriedades de payload do evento:
  • Propriedades de eventos personalizados (product_id, price, category, etc.)
  • Dados contextuais (source, campaign, etc.)
  • Métricas comportamentais (value, quantity, etc.)
4

Configurar definições de sincronização

Defina a frequência de processamento de eventos e preferências de entrega.

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

Limitações

  • Desempenho de Consulta: Athena cobra por consulta e dados escaneados - otimize suas tabelas de eventos
  • Dependências S3: Requer buckets S3 e catálogo Glue configurados adequadamente
  • Atualização de Dados: A frequência de sincronização de eventos depende da frequência de atualização dos seus dados S3

FAQ

O que acontece se minhas consultas Athena falharem?

O OneSignal registrará erros de consulta e tentará novamente consultas com falha. Verifique suas permissões IAM e acesso ao bucket S3 se encontrar falhas persistentes.

Com que frequência o OneSignal sincroniza eventos?

O OneSignal verifica novos eventos com base na frequência de sincronização configurada, com um intervalo mínimo de 15 minutos.

Precisa de ajuda?

Entre em contato com nossa equipe de suporte em support@onesignal.com ou use o chat no aplicativo para assistência com a configuração da sua integração Athena.