概述
OneSignal + Trino 集成使您能够将自定义事件从 Trino 集群同步到 OneSignal,以基于用户行为触发自动化消息活动和旅程。 Trino 是一个分布式 SQL 查询引擎,专为对来自多个源的大型数据集运行快速分析查询而设计。要求
- 访问自定义事件(目前处于测试阶段)
- 升级账户计划(免费应用不可用)。
Trino
- 具有网络访问权限的 Trino 集群
- 具有适当权限的用户凭据
- TLS 连接支持(OneSignal 必需)
- 可通过 Trino 目录访问的事件数据
设置
1
配置 Trino 连接
在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成。选择 Trino 并提供以下连接详细信息:
- 主机: 您的 Trino 集群主机名
- 用户名: 您的 Trino 用户名
- 密码: 您的 Trino 密码
- 端口: 443(默认)或您的自定义端口
OneSignal 需要与 Trino 的 TLS 连接。如果您的实例不在端口 443 上运行,请指定您的自定义端口。
2
配置高级同步引擎(可选)
为了提高性能,设置专用的 CENSUS 目录:
- 创建一个名为
CENSUS
的目录,包含一个名为CENSUS
的模式 - 确保您的连接器支持:
CREATE TABLE
和DROP TABLE
操作- 表写入(INSERT、DELETE、UPDATE)
CREATE OR REPLACE TABLE
语句
- 向您的 OneSignal 用户授予
CENSUS.CENSUS
模式的完全权限
测试配置包括 MySQL、PostgreSQL、Snowflake、Iceberg 和 Delta Lake 连接器。
事件数据映射
将您的 映射到 OneSignal 的自定义事件格式:OneSignal 字段 | 描述 | 必需 | |
---|---|---|---|
name | event_name | 事件标识符 | 是 |
external_id | user_id | 用户标识符 | 是 |
timestamp | event_timestamp | 事件发生时间 | 否 |
properties | event_data | 否 |
事件查询示例
跨目录事件查询
同步引擎选项
基本同步引擎
- 与任何 Trino 目录和连接器兼容
- 状态跟踪由 OneSignal 基础设施管理
- 更简单的设置,无附加要求
高级同步引擎
- 通过本地状态跟踪提高性能
- 需要专用的
CENSUS.CENSUS
目录和模式 - 支持具有表写入操作的连接器
- 推荐用于大量事件处理
支持的连接器
OneSignal 的高级同步引擎已经过以下测试:- MySQL 连接器(读写模式)
- PostgreSQL 连接器(读写模式)
- Snowflake 连接器(读写模式)
- Iceberg 连接器(使用 S3 和 AWS Glue)
- Delta Lake 连接器(使用 AWS Glue 和 Starburst Galaxy 目录)
限制
- 需要 TLS 连接(OneSignal 安全要求)
- 高级同步引擎需要
CREATE OR REPLACE TABLE
支持(Trino 2023 年 10 月+) - 尚不支持数据仓库写回(即将推出)
- 无法在
WITH
子句中提供自定义表选项
常见问题
哪些 Trino 连接器与 OneSignal 兼容?
任何支持读操作的连接器都适用于基本同步引擎。对于高级同步引擎,您需要支持表写入和CREATE OR REPLACE TABLE
的连接器。
我可以在单次同步中查询多个目录吗?
可以!Trino 的联合查询功能允许您在单个查询中结合来自多个源(PostgreSQL、MySQL、S3 等)的事件数据。我需要高级同步引擎吗?
不需要,基本同步引擎对大多数用例都适用。如果您需要提高性能并且可以设置所需的CENSUS.CENSUS
目录,请使用高级同步引擎。