Eventhouse 和 KQL 数据库 - Git 集成

以下文章详细介绍了 Eventhouse 和 KQL 数据库同步到 GitHub 或 Azure Devops 存储库后的文件结构。

文件夹结构

将工作区同步到存储库后,会看到工作区的顶级文件夹,以及已同步的每个项目的子文件夹。 每个子文件夹的格式都带有 项名称项目类型

在 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 文件夹中:

  • 平台

    该文件使用以下架构来定义 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 查询语言(KQL)数据库项配置平台级设置:

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

    下表描述了文件中的属性 DatabaseProperties.json

    资产 DESCRIPTION
    数据库类型 有效值: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':''}]"