Eventhouse と KQL データベース - Git 統合

次の記事では、GitHub または Azure Devops リポジトリに同期された Eventhouse と KQL Database のファイル構造について詳しく説明します。

フォルダー構造

ワークスペースがリポジトリに同期されると、ワークスペースの最上位フォルダーと、同期された各項目のサブフォルダーが表示されます。 各サブフォルダーは 、アイテム名で書式設定されます。アイテムの種類

Eventhouse データベースと KQL データベースの両方のフォルダー内に、次のファイルが表示されます。

  • プラットフォーム: 表示名や説明などのファブリック プラットフォームの値を定義します。
  • プロパティ: アイテム固有の値を定義します。

さらに、KQL データベースの場合は、KQL データベース内の項目をデプロイするために使用されるスキーマ ファイルが表示されます。

フォルダー構造の例を次に示します。

リポジトリ

  • ワークスペース A
    • Item_A.Eventhouse
      • 。プラットホーム
      • EventhouseProperties.json
    • Item_B.KQLDatabase
      • 。プラットホーム
      • DatabaseProperties.json
      • DatabaseSchema.kql
  • ワークスペース B
    • Item_C.Eventhouse
      • 。プラットホーム
      • EventhouseProperties.json
    • Item_D.KQLDatabase
      • 。プラットホーム
      • DatabaseProperties.json
      • DatabaseSchema.kql

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

    このファイルでは、次のスキーマを使用して、Kusto Query Language (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':''}]"