如何在用于Azure Digital Twins导入的xlsx文件中添加关系属性列
Azure Digital Twins Excel批量导入带属性关系操作指南
1. 关系属性添加方式
你使用的ADT官方Excel批量导入工具支持在独立的Relationships工作表中添加关系属性,不要和孪生本体属性放在Twins工作表中,导入时工具会自动识别两类工作表分别完成孪生创建和关系绑定。
2. 关系属性列名规范
关系属性列必须使用固定前缀relProperty_,前缀后紧跟你在DTDL模型中定义的关系属性名称,工具会自动截取前缀后的内容作为关系属性的Key,列单元格内容作为属性Value。
完整Excel文件结构说明
整套导入文件需要包含两个必填工作表,配置规则如下:
工作表1:Twins(存储孪生节点)
必填列:
dtId:孪生体全局唯一IDmodelId:对应孪生模型的DTMI标识- 可选列:
init data:JSON格式存储孪生本体属性,也可通过twinProperty_<属性名>格式单独列存储单个属性
工作表2:Relationships(存储带属性的关联关系)
必填列:
srcId:关系源端孪生的dtIdtgtId:关系目标端孪生的dtIdname:关系名称,需和DTDL模型中定义的关系名称完全一致- 自定义关系属性列:按照
relProperty_<属性名>格式命名列,支持字符串、数字、布尔、JSON字符串等格式的属性值
多节点带属性关系示例
以下是工厂场景的导入示例,包含2个车间节点、3个设备节点,绑定的contains关系携带安装日期、维护周期、负责人三个属性:
Twins表示例内容
| dtId | modelId | init data |
|---|---|---|
| workshop_001 | dtmi:com:example:Workshop;1 | {"name":"冲压车间","area":1200} |
| workshop_002 | dtmi:com:example:Workshop;1 | {"name":"装配车间","area":1800} |
| machine_001 | dtmi:com:example:StampingMachine;1 | {"name":"冲压机A","power":110} |
| machine_002 | dtmi:com:example:StampingMachine;1 | {"name":"冲压机B","power":160} |
| machine_003 | dtmi:com:example:AssembleMachine;1 | {"name":"组装机A","power":85} |
Relationships表示例内容
| srcId | tgtId | name | relProperty_installDate | relProperty_maintenanceCycle | relProperty_responsible |
|---|---|---|---|---|---|
| workshop_001 | machine_001 | contains | 2022-03-15 | 90 | 张工 |
| workshop_001 | machine_002 | contains | 2023-01-09 | 60 | 李工 |
| workshop_002 | machine_003 | contains | 2022-07-22 | 120 | 王工 |
注意事项
- 关系属性的类型需要和DTDL模型中定义的属性类型匹配,否则会触发导入校验错误
- 复杂类型的关系属性可以序列化为JSON字符串填入对应列
- 无值的关系属性可以留空,导入工具会自动跳过空值字段不会写入ADT
内容的提问来源于stack exchange,提问作者Somesh Pande
相关产品推荐
相关产品推荐

