影子管理器 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

影子管理器

影子管理器组件 (aws.greengrass.ShadowManager) 在核心设备上启用本地影子服务。本地影子服务允许组件使用进程间通信来与本地阴影互动. 影子管理器组件管理本地影子文档的存储,还可以处理本地阴影状态与Amazon IoTDevice Shadow 服务。

有关如何的更多信息Amazon IoT Greengrass设备可以与阴影交互,请参阅与设备阴影交互.

版本

此组件具有以下版本:

  • 2.1.x

  • 2.0.x

类型

这个组件是一个插件组件 (aws.greengrass.plugin)。这些区域有:Greengrass 核在与核心相同的 Java 虚拟机 (JVM) 中运行此组件。当您在核心设备上更改此组件的版本时,核心会重新启动。

此组件使用与 Greengrass 核心相同的日志文件。有关更多信息,请参阅 显示器Amazon IoT Greengrass圆木

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件具有以下要求:

附属物

当你部署组件时,Amazon IoT Greengrass还可以部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署组件。本部分列出了适用于的依赖项发布的版本以及定义每个依赖项的组件版本的语义版本约束。您也可以在Amazon IoT Greengrass控制台. 在组件详细信息页面上,查找依赖项列表。

2.1.1

下表列出了此组件 2.1.1 版的依赖项。

依赖关系 兼容的版本 依赖项类型
Greengrass 核 >=2.2.0 <2.7.0 软性
2.0.5 - 2.1.0

下表列出了此组件 2.0.5 至 2.1.0 版的依赖关系。

依赖关系 兼容的版本 依赖项类型
Greengrass 核 >=2.2.0 <2.6.0 软性
2.0.3 and 2.0.4

下表列出了此组件 2.0.3 和 2.0.4 版的依赖关系。

依赖关系 兼容的版本 依赖项类型
Greengrass 核 >=2.2.0 <2.5.0 软性
2.0.1 and 2.0.2

下表列出了此组件 2.0.1 和 2.0.2 版的依赖项。

依赖关系 兼容的版本 依赖项类型
Greengrass 核 >=2.2.0 <2.4.0 软性
2.0.0

下表列出了此组件 2.0.0 版的依赖项。

依赖关系 兼容的版本 依赖项类型
Greengrass 核 >=2.2.0 <2.3.0 软性

有关组件依赖项的更多信息,请参阅组件配方参考.

配置

此组件提供了以下配置参数,您可以在部署组件时自定义这些参数。

2.1.x
strategy

(可选)此组件用于同步阴影之间的策略Amazon IoT Core和核心设备。

此对象包含以下信息。

type

此组件用于同步阴影之间的策略类型Amazon IoT Core和核心设备。从以下选项中进行选择:

  • realTime— 与阴影同步Amazon IoT Core每次发生影子更新时。

  • periodic— 与阴影同步Amazon IoT Core在您使用指定的定期间隔内delay配置参数。

默认值:realTime

delay

(可选)此组件将阴影与同步的时间间隔(以秒为单位)Amazon IoT Core,当你指定periodic同步策略。

注意

如果您指定periodic同步策略。

synchronize

(可选)用于确定阴影如何与Amazon Web Services 云.

注意

如果要启用与Amazon Web Services 云.

此对象包含以下信息。

coreThing

要同步的核心设备阴影。此对象包含以下信息。

classic

默认情况下,影子管理器会将核心设备的经典影子的本地状态与Amazon Web Services 云. 如果你不想同步经典设备影子,请将其设置为false.

默认值:true

namedShadows

要同步的命名核心设备阴影列表。

警告

这些区域有:Amazon IoT Greengrass此服务使用AWSManagedGreengrassV2Deployment命名为 shadow 来管理针对单个核心设备的部署。这个命名的影子被保留供Amazon IoT Greengrass。服务。不要更新或删除这个命名的影子。

shadowDocuments

要同步的其他设备阴影的列表。此列表中的每个对象都包含以下信息。

thingName

要同步阴影的设备的事物名称。

classic

如果你不想同步经典设备影子thingName设备,将其设置为false.

默认值:true

namedShadows

要同步的命名设备阴影列表。

rateLimits

确定影子服务请求速率限制的设置。

此对象包含以下信息。

maxOutboundSyncUpdatesPerSecond

设备每秒传输的最大同步请求数。

默认值:100 个请求/秒

maxTotalLocalRequestsRate

每秒发送到核心设备的本地 IPC 请求的最大数量。

默认值:200 个请求/秒

maxLocalRequestsPerSecondPerThing

每秒针对每个连接的 IoT 事物发送的本地 IPC 请求的最大数量。

默认值:每件事情每秒 20 个请求

注意

这些速率限制参数定义了本地影子服务每秒的最大请求数。每秒的最大请求数Amazon IoTDevice Shadow 服务取决于Amazon Web Services 区域. 有关更多信息,请参阅Amazon IoTDevice Shadow 服务 API中的Amazon Web Services 一般参考.

shadowDocumentSizeLimitBytes

本地阴影的每个 JSON 状态文档允许的最大大小。

如果增加此值,还必须增加云影子的 JSON 状态文档的资源限制。有关更多信息,请参阅Amazon IoTDevice Shadow 服务 API中的Amazon Web Services 一般参考.

默认值:8192 个字节

最大值:30720 个字节

例如:更新配置

以下示例显示了一个示例配置合并更新,其中包含影子管理器组件的所有可用配置参数。

{ "strategy": { "type": "periodic", "delay": 300 }, "synchronize": { "coreThing": { "classic": true, "namedShadows": [ "MyCoreShadowA", "MyCoreShadowB" ] }, "shadowDocuments": [ { "thingName": "MyDevice1", "classic": false, "namedShadows": [ "MyShadowA", "MyShadowB" ] }, { "thingName": "MyDevice2", "classic": true, "namedShadows": [] } ] }, "rateLimits": { "maxOutboundSyncUpdatesPerSecond": 100, "maxTotalLocalRequestsRate": 200, "maxLocalRequestsPerSecondPerThing": 20 }, "shadowDocumentSizeLimitBytes": 8192 }
2.0.x
synchronize

(可选)用于确定阴影如何与Amazon Web Services 云.

注意

如果要启用与Amazon Web Services 云.

此对象包含以下信息。

coreThing

要同步的核心设备阴影。此对象包含以下信息。

classic

默认情况下,影子管理器会将核心设备的经典影子的本地状态与Amazon Web Services 云. 如果你不想同步经典设备影子,请将其设置为false.

默认值:true

namedShadows

要同步的命名核心设备阴影列表。

警告

这些区域有:Amazon IoT Greengrass此服务使用AWSManagedGreengrassV2Deployment命名为 shadow 来管理针对单个核心设备的部署。这个命名的影子被保留供Amazon IoT Greengrass。服务。不要更新或删除这个命名的影子。

shadowDocuments

要同步的其他设备阴影的列表。此列表中的每个对象都包含以下信息。

thingName

要同步阴影的设备的事物名称。

classic

如果你不想同步经典设备影子thingName设备,将其设置为false.

默认值:true

namedShadows

要同步的命名设备阴影列表。

rateLimits

确定影子服务请求速率限制的设置。

此对象包含以下信息。

maxOutboundSyncUpdatesPerSecond

设备每秒传输的最大同步请求数。

默认值:100 个请求/秒

maxTotalLocalRequestsRate

每秒发送到核心设备的本地 IPC 请求的最大数量。

默认值:200 个请求/秒

maxLocalRequestsPerSecondPerThing

每秒针对每个连接的 IoT 事物发送的本地 IPC 请求的最大数量。

默认值:每件事情每秒 20 个请求

注意

这些速率限制参数定义了本地影子服务每秒的最大请求数。每秒的最大请求数Amazon IoTDevice Shadow 服务取决于Amazon Web Services 区域. 有关更多信息,请参阅Amazon IoTDevice Shadow 服务 API中的Amazon Web Services 一般参考.

shadowDocumentSizeLimitBytes

本地阴影的每个 JSON 状态文档允许的最大大小。

如果增加此值,还必须增加云影子的 JSON 状态文档的资源限制。有关更多信息,请参阅Amazon IoTDevice Shadow 服务 API中的Amazon Web Services 一般参考.

默认值:8192 个字节

最大值:30720 个字节

例如:更新配置

以下示例显示了一个示例配置合并更新,其中包含影子管理器组件的所有可用配置参数。

{ "synchronize": { "coreThing": { "classic": true, "namedShadows": [ "MyCoreShadowA", "MyCoreShadowB" ] }, "shadowDocuments": [ { "thingName": "MyDevice1", "classic": false, "namedShadows": [ "MyShadowA", "MyShadowB" ] }, { "thingName": "MyDevice2", "classic": true, "namedShadows": [] } ] }, "rateLimits": { "maxOutboundSyncUpdatesPerSecond": 100, "maxTotalLocalRequestsRate": 200, "maxLocalRequestsPerSecondPerThing": 20 }, "shadowDocumentSizeLimitBytes": 8192 }

本地日志文件

此组件使用的日志文件与Greengrass 核组件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log

查看此组件的日志

  • 在核心设备上运行以下命令以实时查看此组件的日志文件。Replace/绿草/v2要么C:\greengrass\v2随着通往Amazon IoT Greengrass根文件夹。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表介绍了在组件各个版本中进行的更改。

版本

更改

2.1.1

错误修复和改进
  • 修复了最大深度的问题desiredreportedJSON 设备影子状态文档的部分是 4 个级别,而不是 5 个级别。

2.1.0

新功能
  • 添加了对定期影子同步间隔的支持,因此您可以配置核心设备以减少带宽使用量和费用。

2.0.6

此版本包含错误修复和改进。

2.0.5

版本更新为 Greengrass 核 2.5.0 版发行版。

2.0.4

错误修复和改进
  • 修复了导致影子管理器删除之前删除的任何影子的新创建版本的问题。

  • 更新DeleteThingShadow调用时增加影子版本的 IPC 操作。

2.0.3

版本更新为 Greengrass 核 2.4.0 版发行版。

2.0.2

错误修复和改进
  • 修复了导致影子管理器无法识别delta同步阴影状态时的属性Amazon IoT Core.

  • 修复了有时导致影子的同步请求不正确合并的问题。

2.0.1

版本更新为 Greengrass 核 2.3.0 版。

2.0.0

初始版本。