次の方法で共有


Git 統合と展開パイプライン

Real-Time Intelligence は Microsoft Fabric の ライフサイクル管理機能 と統合され、製品のライフサイクル全体にわたってすべての開発チーム メンバー間の標準化されたコラボレーションが提供されます。 この機能は、 Git 統合デプロイ パイプラインを介して提供されます。

この記事では、Microsoft Fabric の Real-Time インテリジェンスのライフサイクル管理で使用できる構成オプションについて説明します。

Git 統合

Real-Time Intelligence では、eventhouse、KQL データベース、KQL クエリセット、および Real-Time ダッシュボードの git 統合がサポートされます。 Git 統合を使用すると、Git に接続されたワークスペース内のこれらの項目の変更を追跡できます。 統合により、バージョン管理、分岐、マージなど、これらの項目のライフサイクルを管理する方法が提供されます。

すべての項目にメタデータが含まれており、eventhouse と KQL データベースには、ワークスペース内の複数のオブジェクトによって参照されるデータも含まれます。

次のメタデータ要素は、Real-Time インテリジェンス項目に含まれています。

  • Eventhouse および KQL データベース項目: テーブル、関数、具体化されたビュー
  • KQL クエリセット: タブとデータ ソース
  • Real-Time ダッシュボード: データ ソース、パラメーター、ベース クエリ、タイル

開発ワークフローの観点からは、次の依存オブジェクトが eventhouse または KQL データベースを参照している可能性があります。

Git 統合は、すべての項目のプラットフォームと、eventhouses および KQL データベースのデータ レベルで適用されます。

プラットフォーム レベルの統合

次の情報は、Git に接続されたワークスペースでシリアル化および追跡されます。

  • Eventhouse

    • 名前
    • 説明
    • 論理 guid
  • KQL データベース

    • 名前
    • 説明
    • キャッシュ ポリシー
    • 保存方針
    • 論理 guid
  • KQL クエリセット

    • 名前
    • バージョン
    • タブ
    • データ ソース
  • リアルタイム ダッシュボード

    • 身分証明書
    • eTag
    • スキーマバージョン
    • タイトル
    • タイル []
    • ベース クエリ []
    • パラメーター[]
    • データ ソース[]

データ レベルの統合

データ レベルの統合は、KQL スクリプトを使用してデータベース オブジェクトのスキーマ、プロパティ、およびポリシーを作成または変更することで実現されます。 ただし、KQL スクリプトでサポートされているすべてのコマンドが Microsoft Fabric ALM と互換性があるわけではないことに注意してください。

  • KQL データベース

    KQL スクリプトでは、次のデータベース オブジェクトがサポートされています。

    • 機能
    • テーブル ポリシーの更新
    • 列エンコード ポリシー
    • マテリアライズド・ビュー
    • テーブルデータ取り込みマッピング

    サポートされているコマンドの詳細については、 KQL データベース ファイルの DatabaseSchema.kql ファイルの説明 参照してください。

Git 統合表現

git と同期された各 eventhouse および KQL Database 項目は、次の形式を使用して名前が付けられた独自のフォルダーに表示されます: <ItemName><ItemType> ここで、 <ItemName> はアイテムの名前、 <ItemType> はアイテムの種類です。 たとえば、 ExampleDB という名前の単一の KQL データベースを持つ Example という名前のイベントハウスの場合、Git リポジトリに次のフォルダーが表示されます。

  • Eventhouse
  • ExampleDBKQLDatabase

Eventhouse ファイル

eventhouse フォルダーには、次のファイルが含まれています。

  • プラットフォーム

    このファイルでは、次のスキーマを使用してイベントハウスを定義します。

    {
      "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
      "metadata": {
        "type": "Eventhouse",
        "displayName": "",
        "description": ""
      },
      "config": {
        "version": "2.0",
        "logicalId": ""
      }
    }
    
  • EventhouseProperties.json

    このファイルを使用すると、eventhouse 項目のプラットフォーム レベルの設定を構成できます。

KQL データベース ファイル

KQL データベース フォルダーには、次のファイルが含まれています。

  • プラットフォーム

    このファイルでは、次のスキーマを使用して KQL データベースを定義します。

    {
      "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
      "metadata": {
        "type": "KQLDatabase",
        "displayName": "",
        "description": ""
      },
      "config": {
        "version": "2.0",
        "logicalId": ""
      }
    }
    
  • DatabaseProperties.json

    このファイルでは、次のスキーマを使用して、KQL データベース項目のプラットフォーム レベルの設定を構成します。

    {
      "databaseType": "ReadWrite",
      "parentEventhouseItemId": "",
      "oneLakeCachingPeriod": "P36500D",
      "oneLakeStandardStoragePeriod": "P36500D"
    }
    

    次の表では、 DatabaseProperties.json ファイルのプロパティについて説明します。

    プロパティ 説明
    データベースタイプ 有効な値: ReadWrite
    parentEventhouseItemId 親イベントハウスの論理 ID。 この値は変更しないでください。
    oneLakeCachingPeriod キャッシュ ポリシーのデータベース レベルの設定。
    oneLakeStandardStoragePeriod アイテム保持ポリシーのデータベース レベルの設定。
  • DatabaseSchema.kql

    このファイルは、 KQL データベースのデータ レベル設定を構成する KQL スクリプトです。 KQL データベースが git に同期されると、自動的に生成されます。 ファイルは、Fabric ワークスペースに同期するときに実行されます。

    このスクリプトを変更するには、次のサポートされているコマンドを追加または変更します。

    データベース オブジェクト サポート対象コマンド
    作成または統合
    機能 作成または変更
    テーブル ポリシーの更新 変える
    列エンコード ポリシー 変える
    マテリアライズド・ビュー 作成または変更
    テーブルデータ取り込みマッピング 作成または変更

    次の例は、テーブルとそのインジェスト マッピングを作成する KQL スクリプトです。

    // KQL script
    // Use management commands in this script to configure your database items, such as tables, functions, materialized views, and more.
    
    .create-merge table SampleTable (UsageDate:datetime, PublisherType:string, ChargeType:string, ServiceName:string, ServiceTier:string, Meter:string, PartNumber:string, CostUSD:real, Cost:real, Currency:string)
    .create-or-alter table SampleTable ingestion csv mapping 'SampleTable_mapping' "[{'Properties':{'Ordinal':'0'},'column':'UsageDate','datatype':''},{'Properties':{'Ordinal':'1'},'column':'PublisherType','datatype':''}]"
    

KQL クエリセット ファイル

このファイルでは、次のスキーマを使用して KQL クエリセットを定義します。

{
  "queryset": {
    "version": "1.0.0",
    "tabs": [
      {
        "id": "",
        "title": "",
        "content": "",
        "dataSourceId": "Guid1"
      }
    ],
    "dataSources": [
      {
        "id": "",
        "clusterUri": "",
        "type": "AzureDataExplorer",
        "databaseName": ""
      },
      {
        "id": "Guid1",
        "clusterUri": "",
        "type": "Fabric",
        "databaseItemId": "",
        "databaseItemName": ""
      }
    ]
  }
}

Real-Time ダッシュボード ファイル

このファイルでは、次のスキーマを使用して、Real-Time ダッシュボードを定義します。

{
  "$schema": "",
  "id": "",
  "eTag": "\"\"",
  "schema_version": "",
  "title": "",
  "tiles": [
    {
      "id": "",
      "title": "",
      "visualType": "",
      "pageId": "",
      "layout": {
        "x": ,
        "y": ,
        "width": ,
        "height":
      },
      "queryRef": {
        "kind": "",
        "queryId": ""
      },
      "visualOptions": {
        "multipleYAxes": {
          "base": {
            "id": "",
            "label": "",
            "columns": [],
            "yAxisMaximumValue": ,
            "yAxisMinimumValue": ,
            "yAxisScale": "",
            "horizontalLines": []
          },
          "additional": [],
          "showMultiplePanels":
        },
        "hideLegend": ,
        "legendLocation": "",
        "xColumnTitle": "",
        "xColumn": ,
        "yColumns": ,
        "seriesColumns": ,
        "xAxisScale": "",
        "verticalLine": "",
        "crossFilterDisabled": ,
        "drillthroughDisabled": ,
        "crossFilter": [
          {
            "interaction": "",
            "property": "",
            "parameterId": "",
            "disabled":
          }
        ],
        "drillthrough": [],
        "selectedDataOnLoad": {
          "all": ,
          "limit":
        },
        "dataPointsTooltip": {
          "all": ,
          "limit":
        }
      }
    }
  ],
  "baseQueries": [],
  "parameters": [
    {
      "kind": "",
      "id": "",
      "displayName": "",
      "description": "",
      "variableName": "",
      "selectionType": "",
      "includeAllOption": ,
      "defaultValue": {
        "kind": ""
      },
      "dataSource": {
        "kind": "",
        "columns": {
          "value": ""
        },
        "queryRef": {
          "kind": "",
          "queryId": ""
        }
      },
      "showOnPages": {
        "kind": ""
      },
      "allIsNull":
    },
  ],
  "dataSources": [
    {
      "id": "",
      "name": "",
      "clusterUri": "",
      "database": "",
      "kind": "",
      "scopeId": ""
    }
  ],
  "pages": [
    {
      "name": "",
      "id": ""
    }
  ],
  "queries": [
    {
      "dataSource": {
        "kind": "",
        "dataSourceId": ""
      },
      "text": "",
      "id": "",
      "usedVariables": [
        "",
        ""
      ]
    }
  ]
}