影子管理器(Shadow Manager)同步顺序不正确

0

【以下的问题经过翻译处理】 介绍

使用Greengrass V2

aws.greengrass.ShadowManager v2.2.1

aws.greengrass.Nucleus v2.7.0

我构建了一个自定义组件,用于与ShadowManager通信来更新设备阴影。 ShadowManager的配置如下:

{
   "strategy":{
      "type":"realTime"
   },
   "synchronize":{
      "coreThing":{
         "classic":true,
         "namedShadows":[
            "notRelevant"
         ]
      },
      "direction":"betweenDeviceAndCloud"
   }
}

问题

我的自定义组件尝试执行以下操作:

  1. 订阅$aws/things/my_thing/shadow/delta/update并使用回调函数。
  2. 将设备的“reported”值更新为与IoT Core中的“desired”值不同的某些默认值。
  3. 步骤2中的更新会触发步骤1中的回调,该回调使用“desired”值更新设备的“reported”值。

我希望最终云端的“desired”和“reported”值是一致的,但最终出现了“reported”中的默认值,如下所示:

IoT Core Console

其中“transmit_rate”为15,“sample_rate”为2.5是默认值,“transmit_rate”为10,“sample_rate”为1是期望的。

我所发现的

我检查了我们的应用程序软件日志,并确认ShadowManager接受了两个阴影更新请求。第一个更新将阴影更新为默认值,第二个更新将阴影更新为期望的值。然后,我检查了greengrass.log,并看到突出显示的“更新同步信息”日志似乎表明两个更新按反向顺序同步(版本278先,版本277后)。这似乎

profile picture
专家
已提问 5 个月前7 查看次数
1 回答
0

【以下的回答经过翻译处理】 Hi ictwist, 根据您的描述,可以通过设置一些延迟来缓解此问题。看起来这可能与ShadowManager中的一个可能的错误高度相关。我们已将其标记在我们的待办事项中以进一步验证和修复。感谢您的报告。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则