
OneSignal Snowflake統合の概要
概要
OneSignal + Snowflake統合は、2つの強力なデータパイプラインをサポートしています:- エクスポート:OneSignalからSnowflakeにメッセージングイベントデータ(プッシュ、メール、SMS、アプリ内)を自動的に送信し、分析とレポート作成を行います。
- インポート:Snowflakeデータセットからカスタムユーザーイベントを OneSignalに同期して、自動Journeyとパーソナライズされたメッセージングをトリガーします。
OneSignalイベントをSnowflakeにエクスポート
メッセージングのパフォーマンスとエンゲージメントイベント(送信、開封、クリックなど)をSnowflakeに送信して以下を実現します:- カスタムダッシュボードとレポートを構築
- チャネル全体の配信とエンゲージメントのトレンドを追跡
- OneSignalデータを他のビジネスデータと組み合わせて分析
- OneSignal Professionalプラン(無料アプリでは利用できません)
- Snowflakeアカウント
- Snowflakeアカウントに
IMPORT SHAREとCREATE DATABASEのロールがあることを確認してください。- 共有を承認するには
ACCOUNTADMINロールの使用を推奨します。
- 共有を承認するには
1. サインアップ
Snowflake統合を有効化するには、Message Events DataのOneSignal Marketplaceリスティングからアクセスをリクエストする必要があります。その後、詳細情報を取得するために当社からチームに連絡します。2. アカウント情報の提供
チームと連絡が取れたら、データを共有できるようにいくつかの詳細情報を提供していただく必要があります。Snowflake Account IDとSnowflake Organization IDが必要です。この情報を取得する最も簡単な方法は、「Copy account identifier」ボタンをクリックすることです(下図を参照)。OneSignal Marketplaceリスティングを通じて当社と連絡を取る必要があります。ただし、アカウント情報の提供についてさらに質問がある場合は、
[email protected]までメールでお問い合わせください。
Snowflakeアカウント識別子のコピー
- OneSignalからプログラムへの参加を歓迎するメール
- データ共有が完了したことを通知するSnowflakeからのメール

Snowflakeデータ共有通知メール
3. Snowflake内でデータ共有を承認
データ共有が完了したことを通知するSnowflakeからのメールを受信したら、Snowflakeアプリにログインしてデータ共有を承認できます。 Data → Private Sharingに移動すると、新しいPrivately Shared Listingが表示されます。Getをクリックすると、データがお客様のリージョンにレプリケートされ始めます。
Snowflakeプライベート共有インターフェース
CREATE DATABASEまたはIMPORT SHAREが含まれていません。ACCOUNTADMINロールに切り替えることをお勧めします。
データのレプリケーションには時間がかかります。データが利用可能になると、Snowflakeから追加のメールが送信されます。次のようなダイアログが表示されます

データレプリケーションステータスダイアログ

データベース構成ダイアログ

データ共有セットアップの完了
以上です!OneSignalからSnowflakeへのデータ同期が開始されました。同期の頻度は24時間に1回に設定されているため、初期データは翌日まで利用できない場合があります。
イベントとプロパティ
SnowflakeのMarketplaceで利用可能なデータの概要メッセージイベントデータ
詳細については、Event Streamsを参照してください。 ユーザーによって生成された各メッセージイベントには、以下のメタデータがレコードに添付されます。| カラム名 | タイプ | 説明 | 例 |
|---|---|---|---|
| event_id | UUID | イベントを表す一意のID | dc76df03-287c-403a-aabd-b2d4fe44e5c6 |
| event_kind | string | 発生したイベントのタイプ。イベントの種類のリストはこちらで確認できます。 | message.email.opened |
| event_impression_timestamp | unix_timestamp | OneSignalがイベントを処理した時刻 | 1684951205 |
| subscription_id | UUID | デバイス/サブスクリプションを表す一意のID | 6e8b6978-75a4-4882-878c-2d15a78c2409 |
| subscription_language | string | このサブスクリプションの言語 | en |
| subscription_timezone | integer | このサブスクリプションの指定されたタイムゾーン | -25200 |
| subscription_device_type | string | このサブスクリプションが使用するデバイスのタイプ | SMS |
| onesignal_id | UUID | インプレッションを行ったユーザーのonesignal_id | dc76df03-287c-403a-aabd-b2d4fe44e5c6 |
| external_id | string | インプレッションを行ったユーザーのexternal_id | MyExternalId |
| message_id | UUID | メッセージを表す一意のID | dc76df03-287c-403a-aabd-b2d4fe44e5c6 |
| message_name | string | 通知/メッセージの人間が読める形式のID | Campaign 1 |
| message_title | string | 通知/メッセージのタイトル。現在は英語のみ | Bonus 50 coins when you play! |
| message_body | string | メッセージの本文(短縮版)現在は英語のみ | Play against your friends and earn an additional... |
メッセージイベントの種類
詳細については、Event Streamsを参照してください。 メッセージイベントは、SnowflakeのMarketplaceで提供する最初のデータカテゴリです。追加のデータカテゴリのリクエストがある場合は、[email protected]までお問い合わせください!
データ保持
Snowflake経由でOneSignalから共有されるデータは、30日間保持されます。この期間を超えてデータを保持するには、関連データを独自のテーブルにコピーすることをお勧めします。Snowflakeからイベントをインポート
SnowflakeからOneSignalに行動イベントデータを送信して以下を実現します:- ユーザーアクティビティに基づいてJourneyをトリガー
- 行動データに基づいてメッセージングをパーソナライズ
- アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
- インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
- 更新されたアカウントプラン(無料アプリでは利用できません)
- ウェアハウスアクセス権を持つSnowflakeアカウント
- Snowflakeテーブルまたはビューに保存されたイベントデータ
- OneSignalからSnowflakeインスタンスへのネットワーク接続
- 適切な権限を持つユーザー認証情報
1
OneSignal専用のロールを作成
Snowflakeのベストプラクティスに従ってロール階層を作成します:
2
専用ウェアハウスを作成
OneSignal操作用にコスト最適化されたウェアハウスを作成します:
3
ユーザーを作成して権限を付与
OneSignalユーザーを作成し、イベントデータへのアクセスを許可します:
4
記帳データベースを作成(高度な同期エンジン)
OneSignalの同期状態管理用のプライベートデータベースを作成します:
5
認証を設定
セキュリティを強化するために、キーペア認証(推奨)を設定します:
- Snowflakeのドキュメントに従って公開鍵/秘密鍵のペアを生成します
- Snowflakeユーザーに公開鍵を設定します
- OneSignalの接続設定で秘密鍵を使用します
6
OneSignalに接続
OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。Snowflakeを選択し、以下の接続詳細を入力します:
- アカウント名: Snowflakeアカウント識別子(例:
abc123.us-east-1) - ウェアハウス:
CENSUS_WAREHOUSE - ユーザー:
CENSUS - データベース: イベントデータのデータベース名
- スキーマ: イベントデータのスキーマ名
- 認証: キーペア(秘密鍵とオプションのパスフレーズを提供)
イベントデータマッピング
をOneSignalのカスタムイベント形式にマッピングします:| OneSignalフィールド | 説明 | 必須 | |
|---|---|---|---|
name | event_name | イベント識別子 | はい |
external_id | user_id | ユーザー識別子 | はい |
timestamp | event_timestamp | イベントが発生した時刻 | いいえ |
properties | event_data | いいえ |
イベントテーブルスキーマの例
SQLクエリモード
カスタムSQLクエリを記述してイベントデータを変換します:高度な設定
ウェアハウスコストの管理
- コスト最適化のためにX-Smallウェアハウスサイズを使用
- 自動サスペンド(60秒)と自動再開を設定
- オフピーク時間に同期をスケジュール
- 他のバッチ処理システムとウェアハウスを共有することを検討
ライブ同期のサポート
リアルタイムイベント処理の場合、イベントテーブルで変更追跡を有効にします:ネットワークセキュリティ
Snowflakeの許可IPネットワークポリシーを使用している場合は、OneSignalのIPアドレスを許可リストに追加してください。現在のIP範囲については、OneSignalサポートにお問い合わせください。制限事項
- 複雑な分析クエリはウェアハウスのパフォーマンスとコストに影響を与える可能性があります
- ユーザー/パスワード認証は2025年11月に非推奨になります
- CENSUSデータベースはOneSignal操作専用に予約されています
OneSignalとのデータ共有を切断
OneSignalとのデータ共有を無効化するには、[email protected]までメールでリクエストしてください。
FAQ
どの認証方法を使用すればよいですか?
キーペア認証を使用してください(推奨)。ユーザー/パスワード認証は、2025年11月からSnowflakeによってブロックされます。既存のウェアハウスを使用できますか?
はい、dbtやFivetranなどの他のバッチ処理システムとウェアハウスを共有してコストを最適化できます。ウェアハウスにイベント処理のニーズに十分な容量があることを確認してください。コストを最適化するにはどうすればよいですか?
- X-Smallウェアハウスサイズを使用
- アグレッシブな自動サスペンド(60秒)を設定
- オフピーク時間に同期をスケジュール
- 連続同期の代わりに時間単位/日次同期を使用