当前位置: 首页 > 知识库问答 >
问题:

在Azure iot中心中,是否需要显式地将报告的属性复制到设备双胞胎中?

沃瑾瑜
2023-03-14

属性。我的设备中报告的双胞胎未更新。

我有一个正在运行的项目,遵循此Azure IOT SDK教程(使用相同的硬件完成):https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-arduino-huzzah-esp8266-get-started

D2C消息正在从设备发送,并由Azure确认。我可以通过设备资源管理器和iothub-Explorer监控消息到达,我可以看到它们在表存储中积累,这要归功于我所做的另一个教程,该教程试图进一步证明消息确实到达了。但是,消息的内容(报告的属性)没有反映在设备双胞胎中。properties.reported是空的,除了从设备注册之日起的元数据时间戳。是否需要编写一个Azure函数来显式地将消息中的数据复制到孪生子报告的属性中?

仅供参考,C2D消息(properties.desired在twin中)通信正常。

共有1个答案

公良信然
2023-03-14

帮助到达另一个论坛,所以我在这里添加相关细节
我上面链接的示例以及我尝试的其他示例都在发送事件,而不是属性,即使它们正在读取从云发送的(所需的)属性并做出反应。报告的属性必须通过调用IoTubClient\u LL\u SendReportedState(C)或Client发送。UpdateReportedPropertiesAsync(C#)。

 类似资料:
  • 问题内容: 下面的对象有一个嵌套对象 我应该如何在减速器中处理它? 我可以如上所述做吗?我只是将整个对象分配给它而不进行复制? 要么 还是应该对对象进行深层复制并将其分配给?谢谢 问题答案: 处理嵌套数据更新的“正确”方法是使用多个浅表副本,每个浅层副本一个。按照您的第一个示例,完全可以完全替换一个字段的新对象当然也可以。 有关如何正确执行不可变更新的一些信息,请参阅不可变更新模式的Redux文档

  • 我有一个定义如下的变量: 我的问题是,如何声明的类型签名?如果我说,编译器给我一个错误说。 据我所知,这和这个问题是一样的,但这是关于变量,而不是变量:如何在TypeScript中显式地设置“window”的新属性?

  • 问题内容: 我有两个线程,我想确保我在LinkedBlockingQueue上正确进行了同步。这正确吗?还是不需要在(messageToCommsQueue)上进行显式同步? 宣言: 方法一: 方法二: 问题答案: 是的,没有必要。JavaDoc说: BlockingQueue实现是线程安全的。

  • 问题内容: 如何检查核心数据对象中是否设置了属性? 我将所有核心数据对象加载到目录中: 我的核心数据NSManagementObject是: formQuestions [indexPath.row] .noticeText //加载: 我的属性“ noticeText”可以为空,因此,当我创建核心数据对象时,可能无法设置某些值。(该属性在核心数据中设置为可选) 当我现在尝试证明是否有值时,它总是

  • 是否在WCF DataContract属性中是必需的? 我有一个类,该类没有用DataContract或带有DataMember的属性标记。 当我在4台服务器上部署wcf服务时,out 4服务在3台服务器上运行正常,在1台服务器上失败,消息为“类型'类'无法序列化”。请考虑使用DataCoutAtinn属性标记它,并使用DataMemberAtinn属性标记所有想要序列化的成员。" 所以,在网络中

  • 问题内容: 最近,我碰上了这篇文章如何写在Node.js的一个单 我知道以下 状态的文档: 第一次加载模块后将对其进行缓存。多次调用可能不会导致模块代码多次执行。 因此,似乎每个需要的模块都可以轻松地用作单例,而无需单例样板代码。 题: 上面的文章是否提供了有关创建单例的解决方案? 问题答案: 这基本上与nodejs缓存有关。干净利落。 https://nodejs.org/api/modules