以下文章详细介绍了 Eventhouse 和 KQL 数据库同步到 GitHub 或 Azure Devops 存储库后的文件结构。
文件夹结构
将工作区同步到存储库后,会看到工作区的顶级文件夹,以及已同步的每个项目的子文件夹。 每个子文件夹的格式都带有 项名称。项目类型
在 Eventhouse 和 KQL 数据库的文件夹中,可以看到以下文件:
- 平台:定义平台结构的值,例如显示名称和描述。
- 属性:定义项特定的值。
此外,对于 KQL 数据库,您还将看到一个用于在 KQL 数据库中部署项目的模式文件。
下面是文件夹结构的外观示例:
存储库
- 工作区 A
- Item_A.Eventhouse
- 平台中添加用户。
- EventhouseProperties.json
- Item_B.KQLDatabase
- 平台中添加用户。
- DatabaseProperties.json
- DatabaseSchema.kql
- Item_A.Eventhouse
- 工作区 B
- Item_C.Eventhouse
- 平台中添加用户。
- EventhouseProperties.json
- Item_D.KQLDatabase
- 平台中添加用户。
- DatabaseProperties.json
- DatabaseSchema.kql
- Item_C.Eventhouse
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':''}]"