本文详细介绍了数字孪生生成器定义项的结构。
DigitalTwinBuilder 项支持 JSON 格式。
定义部件
下表列出了数字孪生生成器定义部件。
| 定义部件路径 |
类型 |
必选 |
DESCRIPTION |
definition.json |
DefinitionDetails (JSON) |
是 |
描述与 LakehouseId 该项关联的项。 |
.platform |
PlatformDetails (JSON) |
假 |
描述项的常见详细信息。 |
EntityTypes |
目录 |
假 |
包含属于该项的实体类型文件的列表。 每个实体类型文件(JSON)描述实体类型的详细信息。 |
EntityTypeRelationships |
目录 |
假 |
包含属于项的实体类型关系文件的列表。 每个实体类型关系文件(JSON)描述实体类型关系的详细信息。 |
ContextualizationOperations |
目录 |
假 |
包含作为项一部分的上下文化作文件的列表。 每个上下文化作文件(JSON)描述上下文化作的详细信息。 |
MappingOperations |
目录 |
假 |
包含映射作文件的列表,这些文件是该项的一部分。 每个映射作文件(JSON)描述映射作的详细信息。 |
定义示例
{
"parts": [
{
"path": "definition.json",
"payload": "ew0KICAibGFrZWhvdXNlSWQiOiAiYjliNWQzNmYtNDQ0NS00MDNiLWFjODctMDE2YjFjZDIwMjExIg0KfQ==",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=",
"payloadType": "InlineBase64"
}
]
}
具有可选定义部件的定义示例
{
"parts": [
{
"path": "definition.json",
"payload": "eyAKICAiTGFrZWhvdXNlSWQiOiAiMjIzMDE0NGItZjQ4Ni04YjZmLTQ5NmMtM2U4ZTI4NzZhYTBkIiwgICAKfSA=",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=",
"payloadType": "InlineBase64"
},
{
"path": "EntityTypes/139950578358348.json",
"payload": "ew0KICAiSWQiOiAiMTM5OTUwNTc4MzU4MzQ4IiwNCiAgIk5hbWVzcGFjZSI6ICJ1c2VydHlwZXMiLA0KICAiQmFzZUVudGl0eVR5cGVJZCI6ICIyIiwNCiAgIk5hbWUiOiAiRXF1aXBtZW50MSIsDQogICJQcm9wZXJ0aWVzIjogWw0KICAgIHsNCiAgICAgICJJZCI6ICI5MTcxODAxMTAzMjkyNjk0NTI4IiwNCiAgICAgICJOYW1lIjogIkRpc3BsYXlOYW1lIiwNCiAgICAgICJWYWx1ZVR5cGUiOiAiU3RyaW5nIg0KICAgIH0sDQogICAgew0KICAgICAgIklkIjogIjkxNzE4MDExMDMyOTI2OTQ1MjkiLA0KICAgICAgIk5hbWUiOiAiU2VyaWFsTnVtYmVyIiwNCiAgICAgICJWYWx1ZVR5cGUiOiAiU3RyaW5nIg0KICAgIH0sDQogICAgew0KICAgICAgIklkIjogIjkxNzE4MDExMDMyOTI2OTQ1MzAiLA0KICAgICAgIk5hbWUiOiAiTWFudWZhY3R1cmVyIiwNCiAgICAgICJWYWx1ZVR5cGUiOiAiU3RyaW5nIg0KICAgIH0NCiAgXSwNCiAgIlRpbWVzZXJpZXNQcm9wZXJ0aWVzIjogW10NCn0=",
"payloadType": "InlineBase64"
},
{
"path": "EntityTypes/31864156952988.json",
"payload": "ew0KICAiSWQiOiAiMzE4NjQxNTY5NTI5ODgiLA0KICAiTmFtZXNwYWNlIjogInVzZXJ0eXBlcyIsDQogICJCYXNlRW50aXR5VHlwZUlkIjogIjIiLA0KICAiTmFtZSI6ICJFcXVpcG1lbnQyIiwNCiAgIlByb3BlcnRpZXMiOiBbDQogICAgew0KICAgICAgIklkIjogIjIwODgyNDkzOTAwNzEwMjE1NjgiLA0KICAgICAgIk5hbWUiOiAiRGlzcGxheU5hbWUiLA0KICAgICAgIlZhbHVlVHlwZSI6ICJTdHJpbmciDQogICAgfSwNCiAgICB7DQogICAgICAiSWQiOiAiMjA4ODI0OTM5MDA3MTAyMTU2OSIsDQogICAgICAiTmFtZSI6ICJTZXJpYWxOdW1iZXIiLA0KICAgICAgIlZhbHVlVHlwZSI6ICJTdHJpbmciDQogICAgfSwNCiAgICB7DQogICAgICAiSWQiOiAiMjA4ODI0OTM5MDA3MTAyMTU3MCIsDQogICAgICAiTmFtZSI6ICJNYW51ZmFjdHVyZXIiLA0KICAgICAgIlZhbHVlVHlwZSI6ICJTdHJpbmciDQogICAgfQ0KICBdLA0KICAiVGltZXNlcmllc1Byb3BlcnRpZXMiOiBbXQ0KfQ==",
"payloadType": "InlineBase64"
},
{
"path": "EntityTypeRelationships/95745415684647936.json",
"payload": "ew0KICAiSWQiOiAiOTU3NDU0MTU2ODQ2NDc5MzYiLA0KICAiTmFtZXNwYWNlIjogInVzZXJ0eXBlcyIsDQogICJSZWxhdGlvbnNoaXBDYXJkaW5hbGl0eSI6ICJNYW55VG9PbmUiLA0KICAiTmFtZSI6ICJjb250YWlucyIsDQogICJGaXJzdEVudGl0eVR5cGVJZCI6ICIzMTg2NDE1Njk1Mjk4OCIsDQogICJTZWNvbmRFbnRpdHlUeXBlSWQiOiAiMTM5OTUwNTc4MzU4MzQ4Ig0KfQ==",
"payloadType": "InlineBase64"
},
{
"path": "ContextualizationOperations/30f6380c-9643-4284-a5bd-f100ac08866f.json",
"payload": "ewogICJPcGVyYXRpb25JZCI6ICIzMGY2MzgwYy05NjQzLTQyODQtYTViZC1mMTAwYWMwODg2NmYiLAogICJEaXNwbGF5TmFtZSI6ICJFcXVpcG1lbnQyX2NvbnRhaW5zX0VxdWlwbWVudDFfQ29udGV4dHVhbGl6YXRpb24iLAogICJPcGVyYXRpb25UeXBlIjogIkNvbnRleHR1YWxpemF0aW9uIiwKICAiRW50aXR5VHlwZVJlbGF0aW9uc2hpcElkIjogIjk1NzQ1NDE1Njg0NjQ3OTM2IiwKICAiSm9pbkNvbHVtbnMiOiB7CiAgICAiRmlyc3RDb2x1bW4iOiB7CiAgICAgICJFbnRpdHlJZCI6ICIzMTg2NDE1Njk1Mjk4OCIsCiAgICAgICJBdHRyaWJ1dGVOYW1lIjogIlNlcmlhbE51bWJlciIKICAgIH0sCiAgICAiU2Vjb25kQ29sdW1uIjogewogICAgICAiRW50aXR5SWQiOiAiMTM5OTUwNTc4MzU4MzQ4IiwKICAgICAgIkF0dHJpYnV0ZU5hbWUiOiAiU2VyaWFsTnVtYmVyIgogICAgfQogIH0KfQ==",
"payloadType": "InlineBase64"
},
{
"path": "MappingOperations/ce9d0ef9-d8f6-4391-9e37-8bdb91b1fc16.json",
"payload": "ewogICJPcGVyYXRpb25JZCI6ICJjZTlkMGVmOS1kOGY2LTQzOTEtOWUzNy04YmRiOTFiMWZjMTYiLAogICJEaXNwbGF5TmFtZSI6ICJFcXVpcG1lbnQxX2VudGl0eXR5cGUiLAogICJPcGVyYXRpb25UeXBlIjogIk1hcHBpbmciLAogICJFbnRpdHlUeXBlSWQiOiAiMTM5OTUwNTc4MzU4MzQ4IiwKICAiTWFwcGluZ09wZXJhdGlvblByb3BlcnRpZXMiOiB7CiAgICAiTWFwcGluZ1R5cGUiOiAiTm9uVGltZVNlcmllcyIsCiAgICAiTWFwcGVkUHJvcGVydGllcyI6IFsKICAgICAgewogICAgICAgICJTb3VyY2VDb2x1bW4iOiAiTmFtZSIsCiAgICAgICAgIkVudGl0eVR5cGVQcm9wZXJ0eU5hbWUiOiAiRGlzcGxheU5hbWUiCiAgICAgIH0KICAgIF0sCiAgICAiUHJvY2Vzc2luZ1R5cGUiOiAiSXRlcmF0aXZlIiwKICAgICJFbnRpdHlJbnN0YW5jZUlkU2NoZW1hIjogWwogICAgICAiSWQiCiAgICBdLAogICAgIlRpbWVzZXJpZXNFbnRpdHlMaW5rUHJvcGVydGllcyI6IG51bGwKICB9LAogICJTb3VyY2VUYWJsZVByb3BlcnRpZXMiOiB7CiAgICAiU291cmNlVHlwZSI6ICJMYWtlaG91c2VUYWJsZXMiLAogICAgIldvcmtzcGFjZUlkIjogImFlMzU5YmI4LTJmZmEtNGUzZi1hMGI1LTJmOGJjZWVmNmQyOSIsCiAgICAiSXRlbUlkIjogIjU5ZTViMDk4LWYzZDMtNDViNi1hY2RkLWQ3ZjRjOTZjNmNjZCIsCiAgICAiU291cmNlVGFibGVOYW1lIjogImVudGl0eXR5cGUiLAogICAgIlNvdXJjZVNjaGVtYSI6IG51bGwKICB9LAogICJGaWx0ZXJzIjogbnVsbAp9",
"payloadType": "InlineBase64"
}
]
}
DefinitionDetails
| 资产 |
类型 |
必选 |
DESCRIPTION |
LakehouseId |
Guid |
是 |
工作区中存在的父 Lakehouse 的项 ID。 |
如果 DigitalTwinBuilder 仍然存在,则无法删除 Lakehouse。
定义文件示例
{
"LakehouseId": "2230144b-f486-8b6f-496c-3e8e2876aa0d"
}
平台部件是包含环境元数据信息的文件。
-
创建项 的定义符合平台文件(如果提供)
-
获取项 定义始终返回平台文件。
-
更新项 定义接受平台文件(如果提供)但前提是
updateMetadata=true设置新的 URL 参数。
EntityTypes 目录:EntityType 文件
EntityType 文件名是实体类型 ID。
| 资产 |
类型 |
必选 |
DESCRIPTION |
Id |
BigInt |
是 |
实体类型的唯一 ID。 此值始终大于 10,000。 |
Namespace |
字符串 |
是 |
实体类型的命名空间。 允许的值: usertypes. |
BaseEntityTypeId |
BigInt |
是 |
基实体类型的唯一 ID。 |
Name |
字符串 |
是 |
实体类型的名称。 |
Properties |
EntityTypeProperty[] |
是 |
实体类型属性的列表。 |
TimeseriesProperties |
EntityTypeProperty[] |
是 |
实体类型属性的列表。 |
EntityTypeProperty
| 资产 |
类型 |
必选 |
DESCRIPTION |
Id |
长整型 |
是 |
实体类型属性的唯一 ID。 |
Name |
字符串 |
是 |
实体类型属性的名称。 |
ValueType |
字符串 |
是 |
描述实体类型属性的值类型。 允许的值:BigInt、Float、Double、String、Bool、DateTime。 |
EntityType 文件示例
{
"Id": "139950578358348",
"Namespace": "usertypes",
"BaseEntityTypeId": "2",
"Name": "Equipment1",
"Properties": [
{ "Id": "9171801103292694528", "Name": "DisplayName", "ValueType": "String" },
{ "Id": "9171801103292694529", "Name": "SerialNumber", "ValueType": "String" },
{ "Id": "9171801103292694530", "Name": "Manufacturer", "ValueType": "String" }
],
"TimeseriesProperties": []
}
EntityTypeRelationships 目录:EntityTypeRelationship 文件
EntityTypeRelationship 文件名是实体类型关系 ID。
| 资产 |
类型 |
必选 |
DESCRIPTION |
Id |
BigInt |
是 |
实体类型关系的唯一 ID。 其值始终大于 10,000。 |
Namespace |
字符串 |
是 |
实体类型关系的命名空间。 允许的值: usertypes. |
RelationshipCardinality |
BigInt |
是 |
实体类型关系的关系基数。 允许的值:ManyToOne、OneToMany。 |
Name |
字符串 |
是 |
实体类型关系的名称。 |
FirstEntityTypeId |
BigInt |
是 |
工作区中存在的第一个实体类型的唯一 ID。 |
SecondEntityTypeId |
BigInt |
是 |
工作区中存在的第二个实体类型的唯一 ID。 |
EntityTypeRelationship 文件示例
{
"Id": "95745415684647936",
"Namespace": "usertypes",
"RelationshipCardinality": "ManyToOne",
"Name": "contains",
"FirstEntityTypeId": "31864156952988",
"SecondEntityTypeId": "139950578358348"
}
ContextualizationOperations 目录:ContextualizationOperation 文件
上下文化Operation 文件名是上下文化作 ID。 可以使用 DigitalTwinBuilderFlow 项目运行上下文化Operation。
| 资产 |
类型 |
必选 |
DESCRIPTION |
OperationId |
Guid |
是 |
上下文化作的唯一 ID。 |
DisplayName |
字符串 |
是 |
上下文化作的显示名称。 |
OperationType |
字符串 |
是 |
作类型。 允许的值: Contextualization. |
EntityTypeRelationshipId |
字符串 |
是 |
工作区中存在的实体类型关系的唯一 ID。 |
JoinColumns |
JoinColumnsConfiguration |
是 |
实体类型的联接详细信息。 |
JoinColumnsConfiguration
| 资产 |
类型 |
必选 |
DESCRIPTION |
FirstColumn |
JoinColumn |
是 |
在工作区中存在的第一个实体类型的联接详细信息。 |
SecondColumn |
JoinColumn |
是 |
联接工作区中存在的第二个实体类型的详细信息。 |
JoinColumn
| 资产 |
类型 |
必选 |
DESCRIPTION |
EntityId |
BigInt |
是 |
实体类型的唯一 ID。 |
AttributeName |
字符串 |
是 |
实体类型的属性名称。 |
上下文化作文件示例
{
"OperationId": "30f6380c-9643-4284-a5bd-f100ac08866f",
"DisplayName": "Equipment2_contains_Equipment1_Contextualization",
"OperationType": "Contextualization",
"EntityTypeRelationshipId": "95745415684647936",
"JoinColumns": {
"FirstColumn": {
"EntityId": "31864156952988",
"AttributeName": "SerialNumber"
},
"SecondColumn": {
"EntityId": "139950578358348",
"AttributeName": "SerialNumber"
}
}
}
MappingOperations 目录:MappingOperation 文件
MappingOperation 文件名是映射作 ID。 可以使用 DigitalTwinBuilderFlow 项目运行 MappingOperation。
| 资产 |
类型 |
必选 |
DESCRIPTION |
OperationId |
Guid |
是 |
映射作的唯一 ID。 |
DisplayName |
字符串 |
是 |
映射作的显示名称。 |
OperationType |
字符串 |
是 |
作类型。 允许的值: Mapping. |
EntityTypeId |
字符串 |
是 |
工作区中存在的实体类型的唯一 ID。 |
MappingOperationProperties |
MappingOperationProperties |
是 |
包含映射作属性的模型。 |
SourceTableProperties |
SourceTableProperties |
是 |
源表的属性。 |
Filters |
FilterOperationNode |
是 |
用于筛选表源数据的筛选器对象。 允许的值:如果没有要应用的筛选器,FilterOperationNode 可以为 null,否则可为 ComparisonFilterOperationNode 或 LogicalFilterOperationNode。 |
MappingOperationProperties
| 资产 |
类型 |
必选 |
DESCRIPTION |
MappingType |
字符串 |
是 |
允许的值:non-timeseries、timeseries。 |
MappedProperties |
SourceColumnDefinition[] |
是 |
源表到目标表的列映射。 |
ProcessingType |
字符串 |
是 |
指示映射作的处理类型。 允许的值:iterative、incremental。 |
EntityInstanceIdSchema |
字符串[] |
是 |
适用于非超时属性。 表示构成实体唯一标识符的源列的字符串列表。 |
TimeseriesEntityLinkProperties |
TimeseriesEntityLinkProperties |
是 |
适用于时序属性。 用于将实体链接到时序数据的源列属性。 |
SourceColumnDefinition
| 资产 |
类型 |
必选 |
DESCRIPTION |
SourceColumn |
字符串 |
是 |
源列的名称。 |
EntityTypePropertyName |
字符串 |
是 |
客户分配给实体类型属性的自定义名称。 |
TimeseriesEntityLinkProperties
| 资产 |
类型 |
必选 |
DESCRIPTION |
EntityProperty |
字符串 |
是 |
用于将实体链接到时间序列化数据的实体属性。 |
TimeseriesProperty |
字符串 |
是 |
与实体属性的值匹配的超时数据中的列。 |
SourceTableProperties
| 资产 |
类型 |
必选 |
DESCRIPTION |
SourceType |
字符串 |
是 |
允许的值: LakehouseTables. |
WorkspaceId |
Guid |
是 |
客户的 Lakehouse 所在的工作区。 |
ItemId |
Guid |
是 |
客户的 Lakehouse 的 ArtifactId。 |
SourceTableName |
字符串 |
是 |
引入的数据表名称。 |
SourceSchema |
字符串 |
是 |
引入的数据表架构。 |
ComparisonFilterOperationNode
| 资产 |
类型 |
必选 |
DESCRIPTION |
type |
字符串 |
是 |
筛选器作的类型。 允许的值: comparison. |
SourceColumn |
字符串 |
是 |
正在筛选的数据的源列名称。 |
ComparisonOperatorKind |
字符串 |
是 |
表示节点的比较运算符的类型。 允许的值:Ge、Gt、Le、Lt、Eq、NotEq、Contains、NotContains、IsNull、IsNotNull。 |
Value |
字符串 |
是 |
用于筛选的值。 |
ValueType |
字符串 |
是 |
用于筛选的值的类型。 允许的值:BigInt、Float、Double、String、Bool、DateTime。 |
LogicalFilterOperationNode
| 资产 |
类型 |
必选 |
DESCRIPTION |
type |
字符串 |
是 |
筛选器作的类型。 允许的值: logical. |
LogicalOperatorKind |
字符串 |
是 |
表示节点的逻辑运算符的类型。 允许的值:And、Or。 |
FilterOperations |
FilterOperationNode[] |
是 |
逻辑运算符使用的筛选器作。 |
MappingOperations 文件示例
{
"OperationId": "ce9d0ef9-d8f6-4391-9e37-8bdb91b1fc16",
"DisplayName": "Equipment1_entitytype",
"OperationType": "Mapping",
"EntityTypeId": "139950578358348",
"MappingOperationProperties": {
"MappingType": "NonTimeSeries",
"MappedProperties": [
{
"SourceColumn": "Name",
"EntityTypePropertyName": "DisplayName"
}
],
"ProcessingType": "Iterative",
"EntityInstanceIdSchema": ["Id"],
"TimeseriesEntityLinkProperties": null
},
"SourceTableProperties": {
"SourceType": "LakehouseTables",
"WorkspaceId": "ae359bb8-2ffa-4e3f-a0b5-2f8bceef6d29",
"ItemId": "59e5b098-f3d3-45b6-acdd-d7f4c96c6ccd",
"SourceTableName": "entitytype",
"SourceSchema": null
},
"Filters": {
"type": "comparison",
"SourceColumn": "Name",
"ComparisonOperatorKind": "Contains",
"Value": "abc",
"ValueType": "String"
}
}