> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon Athena

> Sincronize eventos personalizados do Amazon Athena para o OneSignal para acionar Jornadas automatizadas e campanhas de mensagens personalizadas com base no comportamento do usuário.

export const DATA_TYPE_0 = "colunas da tabela"

export const PLATFORM_0 = "Athena"

export const COLUMN_HEADER_0 = "Coluna Athena"

export const PROPERTIES_DESCRIPTION_0 = "Metadados do evento do data lake S3"

## 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](/docs/pt-BR/event-streams) para eventos de mensagem de saída (Limitações de plano e excedentes se aplicam)
* Acesso a [Custom Events](/docs/pt-BR/custom-events) para sincronização de eventos de entrada (Limitações de plano e excedentes se aplicam)
* [Plano de Conta Atualizado](https://onesignal.com/pricing) (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:

<Steps>
  <Step title="Criar política IAM">
    Crie uma política IAM que inclua estas permissões:

    ```json theme={null}
    {
        "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>/*"
                ]
            }
        ]
    }
    ```

    <Info>
      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.
    </Info>
  </Step>

  <Step title="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.
  </Step>

  <Step title="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")
  </Step>
</Steps>

### Configurar conexão Athena do OneSignal

<Steps>
  <Step title="Navegar para integrações">
    No OneSignal, vá para **Data > Integrations** e clique em **Add Integration**.
  </Step>

  <Step title="Selecionar Amazon Athena">
    Escolha **Amazon Athena** da lista de integrações disponíveis.
  </Step>

  <Step title="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
  </Step>

  <Step title="Testar a conexão">
    Clique em **Testar Conexão** para verificar se o OneSignal pode acessar sua instância Athena e executar consultas.
  </Step>
</Steps>

### Alternativa: Acesso baseado em função

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

<Steps>
  <Step title="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.
  </Step>

  <Step title="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
  </Step>

  <Step title="Completar a conexão">
    Insira o ARN da Função no OneSignal e teste a conexão.
  </Step>
</Steps>

***

## Mapeamento de Dados de Eventos

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

<Steps>
  <Step title="Selecionar tabelas de eventos">
    Escolha as tabelas ou views contendo seus dados de eventos que você deseja sincronizar com o OneSignal.
  </Step>

  <Step title="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)
  </Step>

  <Step title="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.)
  </Step>

  <Step title="Configurar definições de sincronização">
    Defina a frequência de processamento de eventos e preferências de entrega.
  </Step>
</Steps>

***

### Mapeamento de dados de evento

Mapeie seu {DATA_TYPE_0} {PLATFORM_0} para o formato de eventos personalizados do OneSignal:

| Campo OneSignal | {COLUMN_HEADER_0} | Descrição                  | Obrigatório |
| --------------- | ----------------- | -------------------------- | ----------- |
| `name`          | `event_name`      | Identificador de evento    | Sim         |
| `external_id`   | `user_id`         | Identificador de usuário   | Sim         |
| `timestamp`     | `event_timestamp` | Quando o evento ocorreu    | Não         |
| `properties`    | `event_data`      | {PROPERTIES_DESCRIPTION_0} | Nã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.
