イベントストリームに Azure SQL Managed Instance CDC ソースを追加する

この記事では、Azure SQL Managed Instance の変更データ キャプチャ (CDC) ソースをイベントストリームに追加する方法を示しています。

Microsoft Fabric イベント ストリーム用の Azure SQL Managed Instance CDC ソース コネクタを使用すると、SQL Managed Instance データベース内の現在のデータのスナップショットをキャプチャできます。 コネクタは、このデータに対する将来の行レベルの変更を監視し、記録します。 イベントストリームで変更がキャプチャされたら、この CDC データをリアルタイムで処理し、Fabric内のさまざまな宛先に送信して、さらに処理または分析することができます。

DeltaFlow (プレビュー) を使用すると、未加工の Debezium CDC イベントを、ソース テーブル構造をミラーリングする分析対応ストリームに変換できます。 DeltaFlow を使用すると、スキーマの登録、宛先テーブルの管理、スキーマの進化の処理が自動化されます。 DeltaFlow を使用するには、スキーマ処理手順中に [Analytics 対応イベント] と [スキーマの自動更新 ] を選択します。

前提条件

  • 共同作成者以上のアクセス許可を持つ、Fabric容量ライセンス モード (または試用版ライセンス モード) のワークスペースへのアクセス。
  • 実行中のAzure SQL Managed Instance データベース。
  • Azure SQL Managed Instanceでは、パブリック エンドポイントを有効にし、ファイアウォールの内側に置いたり、仮想ネットワークでセキュリティで保護したりしないようにする必要があります。 パブリック エンドポイントを有効にせず、保護されたネットワーク内にある場合は、 Eventstream コネクタの仮想ネットワークインジェクションを使用して接続します。
  • ストアド プロシージャ sys.sp_cdc_enable_db を実行して、Azure SQL Managed Instanceで CDC を有効にします。 詳細については、変更データ キャプチャを有効および無効にするを参照してください。

Azure SQL マネージド インスタンスでパブリック エンドポイントを有効にする

Azure ポータルに移動し、Azure SQL マネージド インスタンスを開き、Networking を選択して、パブリック エンドポイントを有効にします。

[パブリック エンドポイント] オプションが有効化された [ネットワーク] ページを示すスクリーンショット。

Azure SQL マネージド インスタンスで CDC を有効にする

  1. データベースに対して CDC を有効化します。

    EXEC sys.sp_cdc_enable_db; 
    
  2. ゲーティング ロール オプションを使用して、テーブルに対して CDC を有効にします。 この例では、MyTable は SQL テーブルの名前です。

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

    クエリが正常に実行されたら、Azure SQL マネージド インスタンスで CDC を有効にしました。

    cdc が有効になっていることを示すスクリーンショット。

CDC Azure SQL Managed Instanceソースとして追加する

まだ eventstream にソースを追加していない場合は、[ データ ソースの接続 ] タイルを選択します。 リボンの [ ソースの追加>データ ソースの接続 ] を選択することもできます。

外部ソースを使用するためのタイルの選択を示すスクリーンショット。

既に公開されているイベントストリームにソースを追加する場合は、 編集 モードに切り替えます。 リボンで、[ソースの追加] >[データ ソースの接続] を選択します。

外部ソースを追加するための選択を示すスクリーンショット。

データ ソースの選択 ページで、Azure SQL MI Database (DB) Change Data Capture (CDC) タイルから Connect を検索して選択します。

Azure SQL Managed Instance CDC の構成と接続

CDC を介したテーブル スキーマの自動登録を使用して、Azure SQL Managed Instance データベースから Eventstream に変更データを取り込みます。

DeltaFlow (プレビュー):スキーマ処理手順で Analytics 対応イベントと自動更新されたスキーマ を選択すると、DeltaFlow は未加工の Debezium CDC イベントを、ソース テーブル構造をミラーリングする分析対応ストリームに変換します。 DeltaFlow では、変換先テーブルの作成とスキーマの進化処理も自動化されます。

  1. 接続ページで、新しい接続を選択します。

    [接続] ページの [新しい接続] リンクが選択されていることを示すスクリーンショット。

  2. Connection 設定 セクションで、Azure SQL Managed Instanceに次の値を入力します。

    • Server: ホストとポートの間のコンマをコロンに置き換えて、Azure ポータルからエンドポイントを入力します。 たとえば、エンドポイントが xxxxx.public.xxxxxx.database.windows.net,3342 の場合は、xxxxx.public.xxxxxx.database.windows.net:3342 フィールドに を入力する必要があります。

      エンドポイント情報を含む [ネットワーク] ページを示すスクリーンショット。

    • Database: Azure SQL Managed Instance内で接続するデータベースの名前を入力します。

      [接続] ページの [接続設定] セクションを示すスクリーンショット。

  3. 下にスクロールし、[接続資格情報] セクションで、次の 手順に従います。

    • 接続名 には、接続の名前を入力します。

    • [認証の種類] で、[Basic] を選択します。

      現在、Fabric Eventstream では、Basic 認証のみがサポートされています。

    • Azure SQL Managed InstanceUsernamePassword を入力します。

  4. ページの下部にある [接続] を選びます。

  5. [ 接続 ] ページで、[ すべてのテーブル] または [ テーブル名の入力] を選択します。 後者を選択する場合は、完全なテーブル識別子 (schemaName.tableName) または有効な正規表現のコンマ区切りの一覧を使用してテーブルを指定します。 例えば次が挙げられます。

    • dbo.test.*を使用して、名前が dbo.test で始まるすべてのテーブルを選択します。
    • dbo\.(test1|test2)を使用して、dbo.test1dbo.test2を選択します。

    リスト内の両方の形式を組み合わせることができます。 エントリ全体の文字制限の合計は 102,400 文字です。

  6. [詳細設定] を展開して 10 進処理モードを構成します。このモードでは、コネクタが列の値DECIMALNUMERICを処理する方法を指定します。

    • Precise: 正確な 10 進型 (Java BigDecimal など) を使用して値を表し、データ表現の完全な精度と精度を確保します。
    • Double: 値を倍精度浮動小数点数に変換します。 このオプションを選択すると、使いやすさとパフォーマンスが向上しますが、精度が低下する可能性があります。
    • String: 値を書式設定された文字列としてエンコードします。 このオプションを使用すると、ダウンストリーム システムで簡単に使用できますが、元の数値型に関するセマンティック情報は失われます。

ストリームまたはソースの詳細

  1. [ 接続 ] ページで、Eventstream または Real-Time ハブのどちらを使用しているかに基づいて、次のいずれかの手順に従います。

    • Eventstream:

      右側の [ ソースの詳細 ] ウィンドウで、次の手順に従います。

      1. [ソース名] で、[鉛筆] ボタンを選択して名前を変更します。

      2. Eventstream 名Stream 名は読み取り専用であることに注意してください。

    • リアルタイムハブ:

      右側の [ストリームの詳細] セクションで、次の手順に従います。

      1. イベントストリームを作成するFabricワークスペースを選択します。

      2. "イベントストリーム名" の鉛筆ボタンを選択し、イベントストリームの名前を入力します。

      3. Stream 名の値は、eventstream の名前に -stream を追加することによって自動的に生成されます。 このストリームは、ウィザードの終了時にリアルタイム ハブの [すべてのデータ ストリーム ] ページに表示されます。

  2. [構成] ページの下部にある [ 次へ ] を選択 します。

確認して接続する

[ 確認と接続 ] 画面で概要を確認し、[ 追加] (Eventstream) または [接続 ] (Real-Time ハブ) を選択します。

スキーマ処理ページ

  1. スキーマ処理手順で、次のいずれかのオプションを選択します。

    • 分析対応イベントと自動更新スキーマ (DeltaFlow プレビュー):コネクタは、ソース テーブル構造をミラーリングする分析対応ストリームに未加工の CDC イベントを変換します。 DeltaFlow は、変更の種類 (挿入、更新、削除) やタイムスタンプなどのメタデータを使用してイベントを強化し、変換先テーブルとスキーマの進化を自動的に管理します。
    • 未加工の CDC イベント: コネクタは、生の CDC イベントを取り込んで使用できるようにします。 必要に応じて、コネクタはテーブル スキーマを自動検出し、スキーマ レジストリに登録できます。 DeltaFlow 変換を使用せずにスキーマ認識を行う場合は、このオプションを使用します。

    次のスクリーンショットは、CDC Azure SQL Database示しています。 スキーマ処理オプションは、サポートされているすべての CDC ソース コネクタで同じです。

    CDC ソース コネクタの DeltaFlow および Raw CDC イベント オプションを含むスキーマ処理手順を示すスクリーンショット。

  2. イベント スキーマの関連付けを有効にします。

  3. Workspace で、スキーマ セットのFabric ワークスペースを選択します。

  4. [ スキーマ セット] では、[ + 作成 ] が既定で選択され、新しいスキーマ セットが作成されます。 既存のイベント スキーマ セットを選択するように変更できます。

  5. 前の手順で [+ 作成 ] オプションを選択した場合は、スキーマ セットの名前を入力します。

  6. [ 確認と接続 ] ページで概要を確認し、[ 追加 ] (Eventstream) または [接続 ] (Real-Time ハブ) を選択します。

    [追加] ボタンが選択されていることを示すスクリーンショット。

    Azure SQL Managed Instance データベース内のすべてのテーブルまたは選択したテーブルに対して、コネクタはスキーマを自動検出して作成し、スキーマ レジストリに登録します。

DeltaFlow: Analytics 対応イベント変換 (プレビュー)

Analytics 対応イベントと自動更新スキーマ (DeltaFlow) を有効にすると、コネクタは次の機能を提供します。

  • 分析対応のイベント形状: 生の Debezium CDC イベントは、ソース テーブル構造を反映する表形式に変換されます。 イベントは、変更の種類 (insertupdate、または delete) やイベントタイムスタンプなどのメタデータ列でエンリッチされます。
  • 自動宛先テーブル管理: DeltaFlow 対応ストリームをイベントハウスなどのサポート対象の宛先にルーティングすると、変換先テーブルがソース テーブル スキーマと一致するように自動的に作成されます。 コピー先テーブルを手動で作成または構成する必要はありません。
  • スキーマの進化の処理: ソース データベース テーブルが変更されると (たとえば、新しい列が追加されたり、テーブルが作成されたりすると)、DeltaFlow は変更を自動的に検出し、登録されたスキーマを更新し、それに応じて変換先テーブルを調整します。 このオプションにより、スキーマの変更による手動による介入が最小限に抑えられます。

DeltaFlow (プレビュー) は現在、AZURE SQL DATABASE CDC、Azure SQL Managed Instance CDC、VM CDC でのSQL Server、PostgreSQL CDC ソース コネクタでサポートされています。

DeltaFlow が未加工の CDC イベントを分析対応の出力 (操作の種類やメタデータ列など) に変換する方法の詳細については、「 DeltaFlow 出力変換」を参照してください。

更新されたイベントストリームを表示する

Edit モードで Azure SQL MI DB (CDC) ソースが Eventstream に追加されたことを確認できます。

追加されたAzure SQL MI DB CDCソースの編集モードでの拡張機能付きスクリーンショット。

この新しく追加されたAzure SQL Managed Instanceソースを実装するには、Publish を選択します。 これらの手順を完了すると、Azure SQL Managed Instance ソースは Live ビューで視覚化できるようになります。

機能が拡張されたライブ ビュー モードで追加された Azure SQL MI DB CDC ソースのスクリーンショット。

スキーマを使用するように Eventstream の宛先を構成する

現在、関連付けられたスキーマを持つ Eventstream では、Eventhouse、カスタム エンドポイント、および派生ストリーム変換先のみがサポートされています。 このセクションでは、イベントストリームに対して拡張機能 (スキーマ サポートなど) が有効になっている場合に Eventhouse 変換先を追加および構成する方法について説明します。

サポートされている変更データ キャプチャ (CDC) ソースで DeltaFlow (プレビュー) を使用すると、Eventhouse 内の変換先テーブルが自動的に作成され、ソース テーブルの構造と一致するように管理されます。 宛先テーブル スキーマを手動で構成する必要はありません。 DeltaFlow では、ソース テーブルが変更されたときにスキーマの進化も自動的に処理されます。

カスタム エンドポイント変換先のスキーマを構成する

  1. [ イベントの変換] または [宛先の追加] を選択し、[ CustomEndpoint] を選択します。

  2. [ カスタム エンドポイント ] ウィンドウで、宛先の名前を指定します。

  3. [入力スキーマ] で、イベントのスキーマを選択します。 このボックスでは、イベントストリームのスキーマサポートを有効にするときに選択します。

カスタム エンドポイントを構成するためのペインを示すスクリーンショット。

カスタム エンドポイントの送信先を構成する詳細な手順については、「 カスタム エンドポイントまたはカスタム アプリの宛先をイベントストリームに追加する」を参照してください。

イベントハウスの宛先に対するスキーマを設定する

  1. [ イベントの変換] または [宛先の追加] を選択し、[ Eventhouse] を選択します。

  2. [Eventhouse] ウィンドウで、次のスキーマ関連の設定を構成します。

    1. [入力スキーマ] で、ドロップダウン リストから 1 つ以上のスキーマを選択します。

      入力スキーマが選択されている eventhouse 構成ウィンドウを示すスクリーンショット。

      Event Hubs ソースを構成するときに [ヘッダーによる動的スキーマ ] オプションを選択した場合は、ソースに対して複数のスキーマを構成し、それらをさまざまなプロパティとその値にマップしている可能性があります。

    2. [テーブルの作成方法] では、要件に応じて、すべてのスキーマを結合した 1 つのテーブルを選択するか、スキーマごとに個別のテーブルを選択します。

      テーブルの作成方法を含む eventhouse 構成ウィンドウを示すスクリーンショット。

    3. [ データの書き込み方法] で、次のいずれかのオプションを選択します。

      • ペイロードのみ: 抽出されたペイロード データをテーブルに書き込みます。 複数の入力スキーマがある場合、データは複数のテーブルに送信されます。
      • メタデータとペイロード: メタデータとペイロード データを 1 つのテーブルに書き込みます。 列の例には、 sourcesubjecttype、および dataがあります。

      データを書き込むためのオプションを含む eventhouse 構成ウィンドウを示すスクリーンショット。

イベントハウスの宛先を構成する詳細な手順については、「 イベントストリームにイベントハウスの宛先を追加する」を参照してください。

DeltaFlow 分析対応の出力を表示する (プレビュー)

Analytics 対応イベントと自動更新スキーマ (DeltaFlow) を有効にした場合、変換先テーブルはソース データベース テーブルを反映する図形に自動的に作成されます。 各テーブルには、元の列と、変更の種類とタイムスタンプのメタデータ列が含まれます。

次のスクリーンショットは、CDC Azure SQL Database示しています。 DeltaFlow 変換先テーブルの出力は、サポートされているすべての CDC ソース コネクタで同じです。

分析対応の図形で DeltaFlow によって作成された Eventhouse 変換先テーブルを示すスクリーンショット。

未加工の Debezium CDC ペイロードを解析しなくても、Kusto クエリ言語 (KQL) またはその他の分析ツールを使用してこれらのテーブルに対してクエリを実行できます。

その他のコネクタ。