概要
OneSignal + Microsoft Fabric統合により、Fabricレイクハウスまたはウェアハウスからカスタムイベントを自動的にOneSignalに同期して、ユーザー行動に基づいた自動化されたメッセージングキャンペーンとジャーニーをトリガーできます。 Microsoft Fabricは、データエンジニアリング、データサイエンス、リアルタイム分析、ビジネスインテリジェンスを単一の環境にまとめた統合分析プラットフォームです。要件
- アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
- インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
- 更新されたアカウントプラン(無料アプリでは利用できません)
Microsoft Fabric
- ワークスペースアクセスを持つMicrosoft Fabricキャパシティ
- 適切な権限を持つサービスプリンシパル
- イベントデータを含むSQLエンドポイント(ウェアハウスまたはレイクハウス)
- テナント設定で有効になっている外部APIアクセス
セットアップ
1
Azureでサービスプリンシパルを作成
OneSignalがFabricリソースにアクセスするための新しいサービスプリンシパルを作成します:
- Azureポータルにサインインします
- Microsoft Entra ID > アプリの登録に移動します
- + 新しい登録をクリックします
- 名前を入力:「OneSignal Fabric Integration」
- この組織ディレクトリのみのアカウントを選択します
- 登録をクリックします
- アプリケーション(クライアント)IDとディレクトリ(テナント)IDをメモします
- 証明書とシークレットで、新しいクライアントシークレットを作成します
- クライアントシークレット値をメモします
2
Fabricテナント設定を構成
サービスプリンシパルの外部アクセスを有効にします:
- Microsoft Fabricで、設定 > 管理ポータルをクリックします
- テナント設定に移動します
- 開発者設定で、サービスプリンシパルはFabric APIを使用できますを有効にします
- OneLake設定で、ユーザーはFabric外部のアプリでOneLakeに保存されたデータにアクセスできますを有効にします
3
ワークスペースアクセスを付与
サービスプリンシパルをFabricワークスペースに追加します:
- ワークスペースに移動します(「マイワークスペース」を使用している場合は共有ワークスペースを作成)
- アクセス管理 > + ユーザーまたはグループを追加をクリックします
- サービスプリンシパルを選択します
- ロールを共同作成者に設定します
4
SQLエンドポイントを取得
データソースのSQL接続文字列を取得します:
- ワークスペースで、ウェアハウス/レイクハウスの上にマウスを置きます
- … > 設定をクリックします
- SQL接続文字列をコピーします(これがホスト名です)
5
OneSignalに接続
OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。Microsoft Fabricを選択して、次を提供します:
- ホスト名: ステップ4からのSQLエンドポイント
- データベース/カタログ: レイクハウスまたはウェアハウス名
- テナントID: ステップ1からのディレクトリID
- クライアントID: ステップ1からのアプリケーションID
- クライアントシークレット: ステップ1からのシークレット値
イベントデータマッピング
をOneSignalのカスタムイベント形式にマッピングします:| OneSignalフィールド | 説明 | 必須 | |
|---|---|---|---|
name | event_name | イベント識別子 | はい |
external_id | user_id | ユーザー識別子 | はい |
timestamp | event_timestamp | イベントが発生した時刻 | いいえ |
properties | event_data | いいえ |
イベントテーブルスキーマの例
処理モード
SQLクエリモード
同期前にFabricデータを変換するカスタムSQLクエリを作成します:テーブルモード
Fabricワークスペースからテーブルまたはビュー全体を直接同期します。OneSignalは列をイベントフィールドに自動的にマップします。制限事項
- Fabricキャパシティが必要です(トライアルでは利用できません)
- SQLエンドポイントは外部サービスからアクセス可能である必要があります
- 大規模な結果セットは同期パフォーマンスに影響を与える可能性があります