数字孪生生成器定义

本文详细介绍了数字孪生生成器定义项的结构。

支持的格式

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"   

} 

PlatformDetails

平台部件是包含环境元数据信息的文件。

  • 创建项 的定义符合平台文件(如果提供)
  • 获取项 定义始终返回平台文件。
  • 更新项 定义接受平台文件(如果提供)但前提是 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 字符串 描述实体类型属性的值类型。 允许的值:BigIntFloatDoubleStringBoolDateTime

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 实体类型关系的关系基数。 允许的值:ManyToOneOneToMany
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-timeseriestimeseries
MappedProperties SourceColumnDefinition[] 源表到目标表的列映射。
ProcessingType 字符串 指示映射作的处理类型。 允许的值:iterativeincremental
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 字符串 表示节点的比较运算符的类型。 允许的值:GeGtLeLtEqNotEqContainsNotContainsIsNullIsNotNull
Value 字符串 用于筛选的值。
ValueType 字符串 用于筛选的值的类型。 允许的值:BigIntFloatDoubleStringBoolDateTime

LogicalFilterOperationNode

资产 类型 必选 DESCRIPTION
type 字符串 筛选器作的类型。 允许的值: logical.
LogicalOperatorKind 字符串 表示节点的逻辑运算符的类型。 允许的值:AndOr
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"
  }
}