概述
OneSignal + Amazon Athena 集成可以自动将您的 Athena 数据湖中的自定义事件直接同步到 OneSignal 的自定义事件 API。这使您可以基于存储在 AWS 数据基础设施中的真实用户行为触发自动化旅程和个性化消息活动。 您可以同步购买、产品浏览、订阅变更或任何自定义用户操作等事件,自动触发入门序列、重新参与活动、交易消息以及跨推送通知、电子邮件、应用内消息和短信的定向促销。要求
- 访问自定义事件(目前处于测试阶段)
- 升级账户计划(免费应用不可用)。
Amazon Athena 要求
- 具有 Athena 访问权限的 AWS 账户
- 已配置的 Athena 工作组(默认值:“primary”)
- 用于 Athena 查询输出的 S3 查询结果存储桶
- Athena、S3 和 AWS Glue 访问的 IAM 权限
- 存储在 S3 中并在 AWS Glue 中编目的事件数据
设置
配置 AWS 权限
OneSignal 需要特定权限才能通过 Athena 查询您的事件数据。请使用以下权限创建 IAM 策略:1
创建 IAM 策略
创建包含这些权限的 IAM 策略:
将占位符替换为您实际的 AWS 区域、账户 ID、数据库名称、工作组和存储桶名称。
2
创建 IAM 用户或角色
为 OneSignal 创建一个 IAM 用户并附加上面创建的策略,或准备使用基于角色的访问。
3
记录连接详细信息
收集以下信息:
- AWS 访问密钥 ID 和 秘密访问密钥(如果使用 IAM 用户)
- S3 查询结果存储桶 URL
- AWS 区域
- Athena 工作组(默认值:“primary”)
配置 OneSignal Athena 连接
1
导航到集成
在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成。
2
选择 Amazon Athena
从可用集成列表中选择 Amazon Athena。
3
输入连接详细信息
提供您的 Athena 连接信息:
- AWS 访问密钥 ID:您的 IAM 用户访问密钥
- AWS 秘密访问密钥:您的 IAM 用户秘密密钥
- AWS 区域:您的 Athena 区域
- S3 查询结果存储桶:查询输出的 URL
- Athena 工作组:您的工作组名称
4
测试连接
点击测试连接以验证 OneSignal 可以访问您的 Athena 实例并执行查询。
替代方案:基于角色的访问
为了增强安全性,您可以使用 IAM 角色代替访问密钥:1
启用基于角色的访问
在 Athena 连接设置中,勾选使用角色并将访问密钥留空。
2
创建 IAM 角色
在 AWS 控制台中,创建一个具有以下设置的 IAM 角色:
- 可信实体:其他 AWS 账户
- 账户 ID:
341876425553
(OneSignal 的 AWS 账户) - 外部 ID:OneSignal 中显示的 ID(在初次连接尝试后显示)
- 权限:上面创建的 IAM 策略
3
完成连接
在 OneSignal 中输入角色 ARN 并测试连接。
事件数据映射
连接后,您需要将 Athena 表映射到 OneSignal 自定义事件字段:1
选择事件表
选择包含要同步到 OneSignal 的事件数据的表或视图。
2
映射必需的事件字段
映射自定义事件的必需字段:
- 事件名称:包含事件类型的列(例如 “purchase”、“signup”)
- 用户标识符:外部用户 ID、电子邮件或电话号码列
- 事件时间戳:事件发生的时间(可选)
3
映射事件载荷数据
将其他列映射到事件载荷属性:
- 自定义事件属性(product_id、价格、类别等)
- 上下文数据(来源、活动等)
- 行为指标(价值、数量等)
4
配置同步设置
设置事件处理频率和交付偏好。
事件数据映射
将您的 映射到 OneSignal 的自定义事件格式:OneSignal 字段 | 描述 | 必需 | |
---|---|---|---|
name | event_name | 事件标识符 | 是 |
external_id | user_id | 用户标识符 | 是 |
timestamp | event_timestamp | 事件发生时间 | 否 |
properties | event_data | 否 |
限制
- 查询性能:Athena 按查询和扫描数据计费 - 请优化您的事件表
- S3 依赖性:需要正确配置的 S3 存储桶和 Glue 目录
- 数据新鲜度:事件同步频率取决于您的 S3 数据更新频率
常见问题
如果我的 Athena 查询失败会怎样?
OneSignal 将记录查询错误并重试失败的查询。如果遇到持续性失败,请检查您的 IAM 权限和 S3 存储桶访问权限。OneSignal 同步事件的频率
OneSignal 根据您配置的同步频率检查新事件,最小间隔为 15 分钟。需要帮助?
请通过support@onesignal.com
联系我们的支持团队,或使用应用内聊天获取 Athena 集成设置方面的帮助。