如何处理具有相同的Greengrass V2组件但每个Thing具有不同组件配置的核心设备。

0

【以下的问题经过翻译处理】 您好,

我们正在使用Greengrass v2 Fleet Management来处理工厂中大量设备上传时间序列到我们的云数据湖。

所有设备的组件相同,但是组件使用的配置将针对每个设备不同。为了便于管理和维护整个设备群,我们希望将单个Deployment附加到Thing Group,并且所有设备都是该组中的Things。因此,当我们更新/修补Deployment时,所有Things都将使用相同版本进行更新/修补。

但是一个Deployment(明显)只能有一个配置,对于所有的Things来说是相同的。因此,似乎有两种方法:

  1. 为每个Thing创建一个Deployment,并使用Deployment配置来配置设备。这有两个缺点: *很难确保所有部署都使用正确的组件版本并保持最新 *控制台上的部署列表将非常庞大

  2. 创建一个与包含所有Things的Thing Group相关联的单个Deployment,并使用不同的device shadows(https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-shadows.html)关联到每个Thing上。其中的缺点是: *我们必须自己实施基于阴影更改更新组件配置的逻辑,并且需要在需要特定配置的所有组件中使用它。

我还看到了一篇建议有公共Deployment和其他需要特定配置的组件的特定Deployments的帖子,但是还是会出现第一个方法中的问题。

因此,我的问题:

  • 我的假设正确吗(每个Deployment只有一个配置,并且由使用该Deployment的所有Things共享)?
  • 我是否漏掉了其他选项(我看到有人建议使用称为“Config”的单独组件)?
  • 有人可以分享一些其他的选择吗
profile picture
专家
已提问 5 个月前21 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

回答你的问题:

  1. 是的,你的假设是正确的。当将部署应用到物联网设备组时,配置和组件版本在所有该设备组内的设备上都是一致的。然而,组件的配置可以通过单独的配置组件针对每个设备进行重写。
  2. 你也可以为每个设备使用一个静态文件,该文件在你的端上独立管理,用于在组件上运行代码时获取特定设备的自定义参数。你还可以使用自定义组件来获取设备ID,并从远程位置(如S3存储桶或你的FTP服务器)下载特定设备ID的配置。使用这个自定义组件作为部署组的一部分,可以让你一次性部署获得与特定设备定制代码运行所需的定制设置。通过代码基于设备ID下载静态文件的方法,可以更方便地下载代码的配置文件和定制配置。

希望这可以帮到你。

profile picture
专家
已回答 5 个月前

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

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

回答问题的准则