概要
OneSignal + Google Cloud SQLインテグレーションにより、Cloud SQLデータベースからOneSignalへのカスタムイベントの自動同期が可能になります。これにより、管理されたPostgreSQLデータベースに保存されているユーザー行動データに基づいて、自動化されたJourneysとパーソナライズされたメッセージングキャンペーンをトリガーできます。要件
- アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
- インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
- 更新されたアカウントプラン(無料アプリでは利用できません)
Google Cloud 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 Consoleで、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で、Data > Integrationsに移動し、Add Integrationをクリックします。Google Cloud SQLを選択して、以下を提供します:
- Instance Connection Name:
PROJECT_ID:REGION:INSTANCE_ID - Database Name: イベントデータベース名
- Username:
onesignal_reader - Password: ステップ1で作成したパスワード
- SSL Mode:
require(セキュリティのために推奨) - Connection Type: Direct、Auth Proxy、またはPrivate IPから選択
5
イベントデータクエリを構成する
Cloud SQLデータベースからイベントデータを取得するSQLクエリを定義します:イベントテーブルに以下が含まれていることを確認してください:
- イベント名/タイプ(String)
- ユーザー識別子(String)
- イベントタイムスタンプ(Timestamp)
- イベントプロパティ(JSON/JSONB)
6
接続をテストする
Test Connectionをクリックして、OneSignalがCloud SQLインスタンスに接続し、イベントクエリを正常に実行できることを確認します。
イベントデータマッピング
をOneSignalのカスタムイベント形式にマッピングします:| OneSignalフィールド | 説明 | 必須 | |
|---|---|---|---|
name | event_name | イベント識別子 | はい |
external_id | user_id | ユーザー識別子 | はい |
timestamp | event_timestamp | イベントが発生した時刻 | いいえ |
properties | event_data | いいえ |
高度な構成
接続プーリング
大量のイベント同期のためにデータベース接続を最適化します:クエリの最適化
イベントクエリのパフォーマンスを向上させます:JSONデータの処理
イベントプロパティにJSONBを使用している場合は、JSONクエリを最適化します:OneSignalがイベントデータをクエリするときに、Cloud SQLインスタンスのパフォーマンスを監視してください。本番環境のパフォーマンスに影響を与えないように、分析ワークロードには読み取りレプリカの使用を検討してください。