Real-Time Intelligence 与 Microsoft Fabric 中的 生命周期管理功能 集成,在产品整个生命周期内提供所有开发团队成员之间的标准化协作。 此功能通过 git 集成 和 部署管道交付。
本文介绍通过 Microsoft Fabric Real-Time Intelligence 生命周期管理提供的配置选项。
Git 集成
Real-Time Intelligence 支持事件屋、KQL 数据库、KQL 查询集和 Real-Time 仪表板的 git 集成。 通过 git 集成,可以跟踪 git 连接工作区中这些项的更改。 集成提供了一种方法来管理这些项目的生命周期,包括版本控制、分支和合并。
所有项包括元数据,事件屋和 KQL 数据库还包含工作区中多个对象引用的数据。
Real-Time Intelligence 项中包括以下元数据元素:
- Eventhouse 和 KQL 数据库项:表、函数和具体化视图
- KQL 查询集:选项卡和数据源
- Real-Time 仪表板:数据源、参数、基本查询和磁贴
从开发工作流的角度来看,以下依赖对象可能引用 eventhouse 或 KQL 数据库:
- Spark 作业定义
- 笔记本电脑
- 语义模型和 Power BI
git 集成适用于平台上的所有项目,并且适用于数据层面的活动中心和 KQL 数据库。
平台级集成
在与 git 连接的工作区中序列化和跟踪以下信息:
Eventhouse
- 名称
- DESCRIPTION
- 逻辑 guid
KQL 数据库
- 名称
- DESCRIPTION
- 缓存策略
- 保留策略
- 逻辑 guid
KQL 查询语句集
- 名称
- 版本
- 选项卡
- 数据源
实时仪表板
- 身份证件
- eTag
- 架构版本
- 标题
- 瓷砖 []
- 基本查询 []
- 参数[]
- 数据源[]
数据级集成
通过使用 KQL 脚本创建或修改数据库对象架构、属性和策略来实现数据级集成。 但是,请务必注意,并非所有在 KQL 脚本中支持的命令都与 Microsoft Fabric ALM 兼容。
KQL 数据库
KQL 脚本支持以下数据库对象:
- 表
- 功能
- 表格策略更新
- 列编码策略
- 具体化视图
- 表格引入映射
有关支持的命令的信息,请参阅 KQL 数据库文件下的 DatabaseSchema.kql 文件说明。
Git 集成表示形式
每个与 git 同步的事件屋和 KQL 数据库项都会各自在一个文件夹中显示,文件夹以以下格式命名:<ItemName>
。
<ItemType>
其中 <ItemName>
是项的名称,是 <ItemType>
项的类型。 例如,对于名为 Example 的 Eventhouse(名为 ExampleDB 的单个 KQL 数据库),以下文件夹显示在 git 存储库中:
- 示例。Eventhouse
- ExampleDB。KQLDatabase
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
该文件使用以下架构为 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':''}]"
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": [
"",
""
]
}
]
}