共用方式為


Eventhouse 和 KQL 資料庫部署管線和 git 整合 (預覽)

Eventhouses 和 KQL 資料庫與 Microsoft Fabric 中的生命週期管理功能 整合,在整個產品生命週期中提供所有開發小組成員之間的標準化共同作業。 這項功能是透過 Git 整合部署管線傳遞。

在本文中,您將瞭解透過 Microsoft Fabric 的 Eventhouse 和 KQL 資料庫的生命週期管理所提供的組態選項。

Eventhouse 和 KQL 資料庫 Git 整合

eventhouse 和 KQL 資料庫是包含工作區中多個對象所參考之元數據和數據的專案。 Eventhouse 和 KQL 資料庫包含數據表、函式和具體化檢視。 從開發工作流程的觀點來看,下列相依物件可能會參考 eventhouse 或 KQL 資料庫:

Git 整合適用於 eventhouse 和 KQL 資料庫的平台和數據層級。

平臺層級整合

下列 eventhouse 和 KQL 資料庫資訊會在 Git 連線的工作區中串行化和追蹤:

  • Eventhouse

    • 名稱
    • 描述
    • 邏輯 guid
  • KQL 資料庫

    • 名稱
    • 描述
    • 快取原則
    • 保留原則
    • 邏輯 guid

數據層級整合

透過使用 KQL 腳本來建立或修改資料庫物件架構、屬性和原則,即可達成數據層級整合。 不過,請務必注意,KQL 腳本中不支援的所有命令都與 Microsoft Fabric ALM 相容。

  • KQL 資料庫

    KQL 文稿支援下列資料庫物件:

    • Table
    • 函式
    • 數據表原則更新
    • 數據行編碼原則
    • 具體化檢視
    • 數據表擷取對應

    如需支援命令的詳細資訊,請參閱 KQL 資料庫檔案底下的 DatabaseSchema.kql 檔案描述。

Git 整合表示法

與 git 同步的每個 eventhouse 和 KQL Database 項目都會以下列格式出現在名為 的專屬資料夾中: <ItemName><ItemType> 其中 <ItemName> 是項目的名稱,而 <ItemType> 是專案的類型。 例如,針對名為 Example 的單一 KQL 資料庫 名為 ExampleDB 的 eventhouse,下列資料夾會出現在 git 存放庫中:

  • 範例Eventhouse
  • ExampleDBKQLDatabase

Eventhouse 檔案

下列檔案包含在 eventhouse 資料夾中:

  • .platform

    檔案會使用下列架構來定義 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 資料庫資料夾中:

  • .platform

    檔案會使用下列架構來定義 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 屬性:

    屬性 說明
    databaseType 有效值:ReadWrite
    parentEventhouseItemId 父事件house的邏輯標識碼。 這不應該修改。
    oneLakeCachingPeriod 原則的資料庫層級設定。
    oneLakeStandardStoragePeriod 保留原則的資料庫層級設定
  • DatabaseSchema.kql

    檔案是 KQL 腳本 ,可設定 KQL 資料庫的數據層級設定。 當 KQL 資料庫同步至 git 時,它會自動產生。 同步處理至網狀架構工作區時,會執行檔案。

    您可以藉由新增或修改下列支援的命令來變更此文稿:

    資料庫物件 支援的命令
    Table 建立或合併
    函式 建立或改變
    數據表原則更新 改變
    數據行編碼原則 改變
    具體化檢視 建立或改變
    數據表擷取對應 建立或改變

    以下是用來建立數據表及其擷取對應的 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':''}]"