メインコンテンツへスキップ

概要

OneSignal + Microsoft Fabric統合により、Fabricレイクハウスまたはウェアハウスからカスタムイベントを自動的にOneSignalに同期して、ユーザー行動に基づいた自動化されたメッセージングキャンペーンとジャーニーをトリガーできます。 Microsoft Fabricは、データエンジニアリング、データサイエンス、リアルタイム分析、ビジネスインテリジェンスを単一の環境にまとめた統合分析プラットフォームです。

要件

  • アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
  • インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
  • 更新されたアカウントプラン(無料アプリでは利用できません)

Microsoft Fabric

  • ワークスペースアクセスを持つMicrosoft Fabricキャパシティ
  • 適切な権限を持つサービスプリンシパル
  • イベントデータを含むSQLエンドポイント(ウェアハウスまたはレイクハウス)
  • テナント設定で有効になっている外部APIアクセス

セットアップ

1

Azureでサービスプリンシパルを作成

OneSignalがFabricリソースにアクセスするための新しいサービスプリンシパルを作成します:
  1. Azureポータルにサインインします
  2. Microsoft Entra ID > アプリの登録に移動します
  3. + 新しい登録をクリックします
  4. 名前を入力:「OneSignal Fabric Integration」
  5. この組織ディレクトリのみのアカウントを選択します
  6. 登録をクリックします
  7. アプリケーション(クライアント)IDディレクトリ(テナント)IDをメモします
  8. 証明書とシークレットで、新しいクライアントシークレットを作成します
  9. クライアントシークレット値をメモします
2

Fabricテナント設定を構成

サービスプリンシパルの外部アクセスを有効にします:
  1. Microsoft Fabricで、設定 > 管理ポータルをクリックします
  2. テナント設定に移動します
  3. 開発者設定で、サービスプリンシパルはFabric APIを使用できますを有効にします
  4. OneLake設定で、ユーザーはFabric外部のアプリでOneLakeに保存されたデータにアクセスできますを有効にします
3

ワークスペースアクセスを付与

サービスプリンシパルをFabricワークスペースに追加します:
  1. ワークスペースに移動します(「マイワークスペース」を使用している場合は共有ワークスペースを作成)
  2. アクセス管理 > + ユーザーまたはグループを追加をクリックします
  3. サービスプリンシパルを選択します
  4. ロールを共同作成者に設定します
4

SQLエンドポイントを取得

データソースのSQL接続文字列を取得します:
  1. ワークスペースで、ウェアハウス/レイクハウスの上にマウスを置きます
  2. > 設定をクリックします
  3. SQL接続文字列をコピーします(これがホスト名です)
5

OneSignalに接続

OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。Microsoft Fabricを選択して、次を提供します:
  • ホスト名: ステップ4からのSQLエンドポイント
  • データベース/カタログ: レイクハウスまたはウェアハウス名
  • テナントID: ステップ1からのディレクトリID
  • クライアントID: ステップ1からのアプリケーションID
  • クライアントシークレット: ステップ1からのシークレット値

イベントデータマッピング

をOneSignalのカスタムイベント形式にマッピングします:
OneSignalフィールド説明必須
nameevent_nameイベント識別子はい
external_iduser_idユーザー識別子はい
timestampevent_timestampイベントが発生した時刻いいえ
propertiesevent_dataいいえ

イベントテーブルスキーマの例

-- Fabricテーブル構造の例
CREATE TABLE user_events (
    event_name STRING,
    user_id STRING,
    event_time TIMESTAMP,
    properties JSON,
    session_id STRING,
    device_type STRING
);

処理モード

SQLクエリモード

同期前にFabricデータを変換するカスタムSQLクエリを作成します:
SELECT
    event_name,
    user_id,
    event_time,
    TO_JSON(STRUCT(
        session_id,
        device_type,
        product_id
    )) as properties
FROM user_events
WHERE event_time >= CURRENT_DATE - INTERVAL 7 DAYS

テーブルモード

Fabricワークスペースからテーブルまたはビュー全体を直接同期します。OneSignalは列をイベントフィールドに自動的にマップします。

制限事項

  • Fabricキャパシティが必要です(トライアルでは利用できません)
  • SQLエンドポイントは外部サービスからアクセス可能である必要があります
  • 大規模な結果セットは同期パフォーマンスに影響を与える可能性があります

FAQ

クエリパフォーマンスを最適化するにはどうすればよいですか?

Fabricテーブルでパーティション化とインデックス作成を使用します。頻繁にアクセスされるイベントデータのマテリアライズドビューの作成を検討してください。

レイクハウスとウェアハウスの両方から同期できますか?

はい、OneSignalは、レイクハウス、ウェアハウス、SQL分析エンドポイントを含む、SQLエンドポイントを公開するすべてのFabricリソースをサポートします。