Saltar al contenido principal

Descripción general

La integración de OneSignal + Amazon Athena habilita la sincronización automática de eventos personalizados desde su lago de datos de Athena directamente a la API de eventos personalizados de OneSignal. Esto le permite activar Journeys automatizados y campañas de mensajería personalizadas basadas en el comportamiento real del usuario almacenado en su infraestructura de datos de AWS. Puede sincronizar eventos como compras, vistas de productos, cambios de suscripción o cualquier acción de usuario personalizada para activar automáticamente secuencias de incorporación, campañas de reactivación, mensajes transaccionales y promociones dirigidas a través de notificaciones push, correo electrónico, mensajes en la aplicación y SMS.

Requisitos

Amazon Athena

  • Cuenta de AWS con acceso a Athena
  • Athena Workgroup configurado (predeterminado: “primary”)
  • S3 Query Results Bucket para salidas de consultas de Athena
  • Permisos IAM para acceso a Athena, S3 y AWS Glue
  • Datos de eventos almacenados en S3 y catalogados en AWS Glue

Configuración

Configurar permisos de AWS

OneSignal necesita permisos específicos para consultar sus datos de eventos a través de Athena. Cree una política IAM con los siguientes permisos:
1

Crear política IAM

Cree una política IAM que incluya estos permisos:
{
    "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>/*"
            ]
        }
    ]
}
Reemplace los marcadores de posición con su región de AWS real, ID de cuenta, nombre de base de datos, grupo de trabajo y nombres de bucket.
2

Crear usuario o rol IAM

Cree un usuario IAM para OneSignal y adjunte la política creada anteriormente, o prepárese para usar acceso basado en roles.
3

Anotar detalles de conexión

Recopile la siguiente información:
  • AWS Access Key ID y Secret Access Key (si usa usuario IAM)
  • URL de S3 Query Results Bucket
  • AWS Region
  • Athena Workgroup (predeterminado: “primary”)

Configurar conexión de OneSignal a Athena

1

Navegar a integraciones

In OneSignal, go to Data > Integrations and click Add Integration.
2

Seleccionar Amazon Athena

Elija Amazon Athena de la lista de integraciones disponibles.
3

Ingresar detalles de conexión

Proporcione la información de conexión de Athena:
  • AWS Access Key ID: Su clave de acceso de usuario IAM
  • AWS Secret Access Key: Su clave secreta de usuario IAM
  • AWS Region: Su región de Athena
  • S3 Query Results Bucket: URL para salidas de consultas
  • Athena Workgroup: Nombre de su grupo de trabajo
4

Probar la conexión

Haga clic en Test Connection para verificar que OneSignal puede acceder a su instancia de Athena y ejecutar consultas.

Alternativa: Acceso basado en roles

Para mayor seguridad, puede usar roles IAM en lugar de claves de acceso:
1

Habilitar acceso basado en roles

En la configuración de conexión de Athena, marque Use Role y deje las claves de acceso en blanco.
2

Crear rol IAM

En la consola de AWS, cree un rol IAM con:
  • Trusted Entity: Another AWS Account
  • Account ID: 341876425553 (cuenta de AWS de OneSignal)
  • External ID: El ID mostrado en OneSignal (aparece después del intento de conexión inicial)
  • Permissions: La política IAM creada anteriormente
3

Completar la conexión

Ingrese el ARN del rol en OneSignal y pruebe la conexión.

Mapeo de datos de eventos

Una vez conectado, deberá mapear sus tablas de Athena a los campos de eventos personalizados de OneSignal:
1

Seleccionar tablas de eventos

Elija las tablas o vistas que contienen sus datos de eventos que desea sincronizar con OneSignal.
2

Mapear campos de eventos requeridos

Mapee los campos requeridos para eventos personalizados:
  • Event Name: Columna que contiene el tipo de evento (por ejemplo, “purchase”, “signup”)
  • User Identifier: Columna de External User ID, Email o Phone Number
  • Event Timestamp: Cuándo ocurrió el evento (opcional)
3

Mapear datos de carga útil del evento

Mapee columnas adicionales a propiedades de carga útil del evento:
  • Propiedades de evento personalizadas (product_id, price, category, etc.)
  • Datos contextuales (source, campaign, etc.)
  • Métricas de comportamiento (value, quantity, etc.)
4

Configurar ajustes de sincronización

Establezca su frecuencia de procesamiento de eventos y preferencias de entrega.

Event data mapping

Map your to OneSignal’s custom events format:
OneSignal FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

Limitaciones

  • Rendimiento de consultas: Athena cobra por consulta y datos escaneados: optimice sus tablas de eventos
  • Dependencias de S3: Requiere buckets S3 y catálogo Glue configurados correctamente
  • Actualización de datos: La frecuencia de sincronización de eventos depende de la frecuencia con que se actualicen sus datos de S3

Preguntas frecuentes

¿Qué sucede si mis consultas de Athena fallan?

OneSignal registrará errores de consulta y reintentará las consultas fallidas. Verifique sus permisos IAM y acceso al bucket de S3 si encuentra fallos persistentes.

¿Con qué frecuencia sincroniza OneSignal los eventos?

OneSignal verifica nuevos eventos según su frecuencia de sincronización configurada, con un intervalo mínimo de 15 minutos.

¿Necesita ayuda?

Contacte a nuestro equipo de soporte en support@onesignal.com o use el chat en la aplicación para obtener ayuda con la configuración de su integración de Athena.