概述
OneSignal + Google Cloud SQL 集成可以实现从您的 Cloud SQL 数据库自动同步自定义事件到 OneSignal。这允许您基于存储在托管 PostgreSQL 数据库中的用户行为数据触发自动化 Journeys 和个性化消息活动。要求
- 访问自定义事件(目前处于测试阶段)
- 升级账户计划(免费应用不可用)。
谷歌云SQL
- Cloud SQL for PostgreSQL 实例(建议版本 11 或更高)
- 对事件表具有读取权限的数据库访问权限
- 从 OneSignal 到您的 Cloud SQL 实例的网络连接
- 用于安全连接的 Cloud SQL Auth proxy(推荐)
设置
1
配置 Cloud SQL 数据库访问
为 OneSignal 创建一个对事件表具有只读访问权限的专用用户:
2
配置网络访问
确保 OneSignal 可以连接到您的 Cloud SQL 实例:选项1:授权网络(公有 IP)
- 在 Google Cloud 控制台中,转到 SQL > 实例
- 选择您的实例 → 连接 → 网络
- 将 OneSignal IP 地址添加到授权网络
- 使用私有 IP 配置您的 Cloud SQL 实例
- 使用 Cloud SQL Auth Proxy 进行安全连接
- 确保正确的 VPC 对等连接或防火墙规则
- 下载并配置 Cloud SQL Auth Proxy
- 使用服务帐户身份验证
- 通过安全代理隧道连接
3
设置 Cloud SQL Auth Proxy(推荐)
为了增强安全性,使用 Cloud SQL Auth Proxy:创建具有 Cloud SQL Client 角色的服务帐户:
4
在 OneSignal 中添加集成
在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成。选择 Google Cloud SQL 并提供:
- 实例连接名称:
PROJECT_ID:REGION:INSTANCE_ID
- 数据库名称:您的事件数据库名称
- 用户名:
onesignal_reader
- 密码:在步骤1中创建的密码
- SSL 模式:
require
(出于安全考虑推荐) - 连接类型:在直接、Auth Proxy 或私有 IP 之间选择
5
配置事件数据查询
定义 SQL 查询以从您的 Cloud SQL 数据库检索事件数据:确保您的事件表包含:
- 事件名称/类型(字符串)
- 用户标识符(字符串)
- 事件时间戳(时间戳)
- 事件属性(JSON/JSONB)
6
测试连接
点击测试连接验证 OneSignal 可以连接到您的 Cloud SQL 实例并成功执行事件查询。
事件数据映射
将您的 映射到 OneSignal 的自定义事件格式:OneSignal 字段 | 描述 | 必需 | |
---|---|---|---|
name | event_name | 事件标识符 | 是 |
external_id | user_id | 用户标识符 | 是 |
timestamp | event_timestamp | 事件发生时间 | 否 |
properties | event_data | 否 |
高级配置
连接池
为大量事件同步优化数据库连接:查询优化
提高事件查询性能:JSON 数据处理
如果使用 JSONB 存储事件属性,请优化 JSON 查询:在 OneSignal 查询事件数据时监控您的 Cloud SQL 实例的性能。考虑为分析工作负载使用读取副本以避免影响生产性能。