我有一个带有目标条件的自动配置:'*',它正确地应用和更新所需的属性在双胞胎。
当我更新双设备中的一些属性时,这些属性不存在于自动配置中,我有下一个流程:
- 属性在twin中更新
- 设备接收所需的属性更新事件(包含所有属性)
- (几分钟后)设备再次接收到所需的属性更新事件(仅包含自动配置中的 prop )
我在最后一步之后检查了双胞胎配置,属性值没有改变,但是版本增加了,并且在元数据中添加了$lastUpdatedBy属性,它引用了自动配置的ID。
到目前为止,还没有这个问题。为什么会出现最后一步?
UPD:下表为C2 DTwinOperations和D2CTwinOperations操作日志。正如您所看到的,从底部开始,我读取配置,并更新它,之后更新事件发生,设备读取配置。
然后读取了配置,虽然这是一个读取操作,但正是在这个时候,双胞胎更新了,版本增加了,你也可以看到这个操作发生在与我不同的SDK版本中。
然后,您可以看到设备已读取数据。他读了3035字节。这就是自动配置中的值占用的量。也就是说,我在tw n中单独更新的值没有被读取。
| 生成时间|分类|操作名称|消息大小|SdkVersion|
| - -----|- -----|- -----|- -----|- -----|
| 2023年6月9日下午4:45:43.000| C2DTwinOperations|读|0| 2020-09-30|
| 2023年6月9日下午4:45:43.000| D2CTwinOperations|读|三零三五|.NET/1.42.0(.NET 6.0.16; Microsoft Windows 10.0.19045 Windows产品:0x 0000030; X64;|
| 2023年6月9日,下午4:43:38.000| C2DTwinOperations|读|0| 2020-09-30|
| 2023年6月9日,下午4:41:27.000| D2CTwinOperations|读|三四六九|.NET/1.42.0(.NET 6.0.16; Microsoft Windows 10.0.19045 Windows产品:0x 0000030; X64;|
| 2023年6月9日,下午4:41:27.000| C2DTwinOperations|更新|三四三○| 2021-04-12 2021-04-12 2021-04-12|
| 2023年6月9日,下午4:41:27.000| C2DTwinOperations|读|0| 2021-04-12 2021-04-12 2021-04-12|
1条答案
按热度按时间sxissh061#
我已经提到了这个SO从IOT Hub获取数据。
控制台输出:
在Azure中:
标签:
理想属性:
对于值的连续变化: