将Azure IoT Hub事件接收到多个Azure Digital Twins模型

qkf9rpyu  于 2023-03-19  发布在  Git
关注(0)|答案(1)|浏览(109)

我的Iot Hub to Digital Twins摄取功能应用程序出现问题。我尝试使用单个或多个摄取功能更新多个唯一型号的属性,但我不知道如何过滤掉不必要的遥测。例如,我想做的事情,如更新dischargeTemp和dischargePressure的双胞胎模型1,而更新inletTemp和inletPressure的双胞胎模型2.该函数在一组或另一组遥测数据上看到空值并抛出错误。我看到的所有示例函数都只假设一种类型的设备流遥测数据并更新一个模型。如何确定要更新的模型类型,以便仅针对该模型?
我试着编写一个函数来处理每种可能的遥测类型,但是由于属性值为空,它会抛出错误。

5kgi1eie

5kgi1eie1#

在Azure Digital Twins中将设备消息转换为更新时,这是一个常见的挑战。我曾经为此编写了一个reference implementation
我的解决方案是为IoTHub中的每个DeviceId创建一个引用表,其中包含一些JSON。

  • 要从遥测消息读取的属性
  • 要在ADT中更新的属性
  • 属性的类型(例如字符串、布尔值、整数)
  • ADT中的孪生ID

它的构建使得单个遥测消息可以在一次执行中更新多个孪生/属性。执行这些操作的Azure函数也不关心正在更新的ADT模型;它只是构造补丁消息并转发它们。
alternative solution是将此Map表放入CSV文件中,并将其用作Azure流分析中的引用文件,但对于较小的工作负载来说,这要昂贵得多。

相关问题