首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得子属性/ TwinCollection的元数据/版本?

如何获得子属性/ TwinCollection的元数据/版本?
EN

Stack Overflow用户
提问于 2020-12-02 09:18:55
回答 2查看 140关注 0票数 0

我正在使用Azure作为IoT DeviceTwin功能。在调用startDeviceTwin()时,我只在TwinPropertyCallBack中接收一次报告的和所需的属性。

但是,在发送的Property中,我只能获得‘根节点’的version,而不是子属性或TwinCollection的(它们都是null)。在Azure Portal上,我可以清楚地看到,在JSON的元数据部分,它们都有自己的版本。示例:

代码语言:javascript
运行
复制
...
  "properties": {
    "desired": {
      "Broadcast": {
        "0": {
          "Scene": 2,
          "Brightness": 13
        }
      },
      "$metadata": {
        "$lastUpdated": "2020-12-01T07:53:53.0372127Z",
        "$lastUpdatedVersion": 17,
        "Broadcast": {
          "0": {
            "$lastUpdated": "2020-12-01T07:53:53.0372127Z",
            "$lastUpdatedVersion": 17,
            "Scene": {
              "$lastUpdated": "2020-12-01T07:53:53.0372127Z",
              "$lastUpdatedVersion": 17
            },
            "Brightness": {
              "$lastUpdated": "2020-12-01T07:28:08.5730028Z",
              "$lastUpdatedVersion": 15
            }
          },
          "$lastUpdated": "2020-12-01T07:53:53.0372127Z",
          "$lastUpdatedVersion": 17
        }
      },
      "$version": 17
    },
...

如何接收嵌套TwinCollection的这些版本?它是某种配置,还是只是目前不支持?

在上面的例子中,我想防止亮度值的再处理,因为我的本地状态已经在'Version 15‘了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-09 00:37:50

相关的Github问题发布于:azure/azure-iot java/一期

下面是来自MicrosoftTeam的响应。

服务不会通过设计将元数据发送到设备。它只适用于为设备的孪生设备请求服务的客户端。通常,您需要依赖文档的整体版本来保护并发性。

如果您在这件事上需要进一步帮助,请在下面评论。

票数 1
EN

Stack Overflow用户

发布于 2020-12-02 17:22:26

根据Azure 文档,您应该获得每个属性的lastUpdatedVersion。我能够获得整个metaData对象,包括NodeJS中的lastUpdatedVersion,所以类似的功能也应该在NodeJS中工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65105208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档