Skip to main content

概述

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 地址添加到授权网络
选项2:私有 IP(推荐)
  • 使用私有 IP 配置您的 Cloud SQL 实例
  • 使用 Cloud SQL Auth Proxy 进行安全连接
  • 确保正确的 VPC 对等连接或防火墙规则
选项3:Cloud SQL Auth Proxy
  • 下载并配置 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 的自定义事件格式:

高级配置

连接池

为大量事件同步优化数据库连接:

查询优化

提高事件查询性能:

JSON 数据处理

如果使用 JSONB 存储事件属性,请优化 JSON 查询:
在 OneSignal 查询事件数据时监控您的 Cloud SQL 实例的性能。考虑为分析工作负载使用读取副本以避免影响生产性能。

常见问题

OneSignal 多久从 Cloud SQL 同步一次事件?

OneSignal 根据您配置的计划同步事件数据,最小间隔为 15 分钟。

我可以使用 Cloud SQL 读取副本进行事件同步吗?

是的,建议使用读取副本来将分析查询与生产数据库工作负载隔离。

如果我的 Cloud SQL 实例暂时不可用会发生什么?

OneSignal 将使用指数退避重试连接。一旦您的实例可再次访问,事件同步将自动恢复。