问题描述
创建了一个测试DTDL模型类,该模型中定义的可写属性之一为false,另一个可写属性为true
即使writable属性为false,也可以执行以下代码。如何仅在DTDL中设置可读属性?
BasicDigitalTwin twindata = new BasicDigitalTwin();
twindata.Id = "123Test";
twindata.Metadata.ModelId = "dtmi:DigitalTwins:test;2";
twindata.CustomProperties.Add("testprop1","test1");
twindata.CustomProperties.Add("testprop2","test2");
twindata.CustomProperties.Add("testprop3","test3");
await client.CreateDigitalTwinAsync(twindata.Id,JsonSerializer.Serialize(twindata));
解决方法
可写属性仅在IoT中心的Device Twin中起作用,而在Azure Digital Twins中不起作用。 This document试图对此有所了解,但我能理解其中的困惑。
数字双胞胎定义语言(DTDL)用于描述Azure数字双胞胎(ADT)中的数字双胞胎,还用于描述IoT即插即用的功能模型。尽管可写属性是DTDL语言的一部分,但它在ADT中并未发挥作用。