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

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

Greengrass 核

Greengrass nucleus 组件 aws.greengrass.Nucleus () 是必备组件,也是在设备上运行 Amazon IoT Greengrass 核心软件的最低要求。您可以将此组件配置为远程自定义和更新 Amazon IoT Greengrass Core 软件。部署此组件可在核心设备上配置代理、设备角色和 Amazon IoT 事物配置等设置。

重要

当 nucleus 组件的版本发生变化时,或者当你更改某些配置参数时, Amazon IoT Greengrass Core 软件(包括 nucleus 和设备上的所有其他组件)会重新启动以应用更改。

部署组件时, Amazon IoT Greengrass 会安装该组件所有依赖项的最新支持版本。因此,如果您向事物组中添加新设备或更新针对这些设备的部署,则 Amazon提供的公共组件的新补丁版本可能会自动部署到您的核心设备上。某些自动更新(例如 nucleus 更新)可能会导致您的设备意外重启。

为防止设备上运行的组件出现意外更新,我们建议您在创建部署时直接包含该组件的首选版本。有关 C Amazon IoT Greengrass ore 软件更新行为的更多信息,请参阅更新Amazon IoT Greengrass核心软件 (OTA)

版本

此组件有以下版本:

  • 2.12.x

  • 2.11.x

  • 2.10.x

  • 2.9.x

  • 2.8.x

  • 2.7.x

  • 2.6.x

  • 2.5.x

  • 2.4.x

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

操作系统

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

  • Linux

  • Windows

有关更多信息,请参阅 支持的平台

要求

设备必须满足某些要求才能安装和运行 Greengrass nucleus 和 Core 软件。 Amazon IoT Greengrass 有关更多信息,请参阅 设备要求

支持 Greengrass 核心组件在 VPC 中运行。要在 VPC 中部署此组件,需要满足以下条件。

  • Greengrass 核心组件必须连接到、 Amazon IoT data凭证 Amazon IoT 和 Amazon S3。

依赖项

Greengrass 核心不包含任何组件依赖关系。但是,一些 Amazon提供的组件将核作为依赖项包含在内。有关更多信息,请参阅 Amazon-提供的组件

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

下载和安装

你可以下载安装程序,在你的设备上设置 Greengrass nucleus 组件。此安装程序将您的设备设置为 Greengrass 核心设备。您可以执行两种类型的安装:一种是为您创建所需 Amazon 资源的快速安装,另一种是手动安装,您可以自己创建 Amazon 资源。有关更多信息,请参阅 安装 Amazon IoT Greengrass Core 软件

你也可以按照教程安装 Greengrass 核心并探索 Greengrass 组件的开发。有关更多信息,请参阅 教程:Amazon IoT Greengrass V2 入门

配置

此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。某些参数要求 Amazon IoT Greengrass Core软件重新启动才能生效。有关为何以及如何配置此组件的更多信息,请参阅配置 Amazon IoT Greengrass 核心软件

iotRoleAlias

指向令牌交换 IAM 角色的角色别名。 Amazon IoT Amazon IoT 凭证提供者扮演此角色是为了允许 Greengrass 核心设备与服务进行交互。 Amazon 有关更多信息,请参阅 授权核心设备与 Amazon 服务交互

当你使用--provision true选项运行 Amazon IoT Greengrass Core 软件时,该软件会预置一个角色别名并在 nucleus 组件中设置其值。

interpolateComponentConfiguration

(可选)您可以启用 Greengrass nucleus,以便在组件配置中插入组件配方变量并合并配置更新。我们建议您将此选项设置为,true以便核心设备可以运行在其配置中使用配方变量的 Greengrass 组件。

此功能适用于该组件的 2.6.0 及更高版本。

默认:false

networkProxy

(可选)用于所有连接的网络代理。有关更多信息,请参阅 通过端口 443 或网络代理进行连接

重要

当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。

该对象包含以下信息:

noProxyAddresses

(可选)以逗号分隔的 IP 地址或主机名列表,这些地址或主机名不受代理限制。

proxy

要连接的代理。该对象包含以下信息:

url

格式为代理服务器的 URL scheme://userinfo@host:port

  • scheme— 方案,必须是httphttps

    重要

    Greengrass 核心设备必须运行 Greengrass nucleus v2.5.0 或更高版本才能使用 HTTPS 代理

    如果您配置 HTTPS 代理,则必须将代理服务器 CA 证书添加到核心设备的 Amazon 根 CA 证书中。有关更多信息,请参阅 使核心设备能够信任 HTTPS 代理

  • userinfo—(可选)用户名和密码信息。如果您在中指定此信息url,Greengrass 核心设备将忽略和字段。username password

  • host— 代理服务器的主机名或 IP 地址。

  • port—(可选)端口号。如果您未指定端口,则 Greengrass 核心设备将使用以下默认值:

    • http— 80

    • https— 443

username

(可选)对代理服务器进行身份验证的用户名。

password

(可选)对代理服务器进行身份验证的密码。

mqtt

(可选)Greengrass 核心设备的 MQTT 配置。有关更多信息,请参阅 通过端口 443 或网络代理进行连接

重要

当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。

该对象包含以下信息:

port

(可选)用于 MQTT 连接的端口。

默认:8883

keepAliveTimeoutMs

(可选)客户端为保持 MQTT 连接活动而发送的每PING条消息之间的间隔时间(以毫秒为单位)。此值必须大于pingTimeoutMs

默认值:60000(60 秒)

pingTimeoutMs

(可选)客户端等待从服务器接收PINGACK消息的时间(以毫秒为单位)。如果等待时间超过超时时间,核心设备将关闭并重新打开 MQTT 连接。此值必须小于keepAliveTimeoutMs

默认值:30000(30 秒)

operationTimeoutMs

(可选)客户端等待 MQTT 操作(例如或)完成的时间(以毫秒为单位)。CONNECT PUBLISH此选项不适用于 MQTT PING 或保持活动状态的消息。

默认值:30000(30 秒)

maxInFlightPublishes

(可选)可以同时传输的未确认的 MQTT QoS 1 消息的最大数量。

此功能适用于该组件的 v2.1.0 及更高版本。

默认:5

有效范围:最大值为 100

maxMessageSizeInBytes

(可选)MQTT 消息的最大大小。如果一条消息超过这个大小,Greengrass 核心会以错误拒绝该消息。

此功能适用于该组件的 v2.1.0 及更高版本。

默认值:131072(128 KB)

有效范围:最大值为 2621440 (2.5 MB)

maxPublishRetry

(可选)重试发布失败的消息的最大次数。您可以指定-1重试次数不限。

此功能适用于该组件的 v2.1.0 及更高版本。

默认:100

spooler

(可选)Greengrass 核心设备的 MQTT 后台处理程序配置。该对象包含以下信息:

storageType

用于存储消息的存储类型。如果设置storageTypeDisk,则pluginName可以配置。您可指定 MemoryDisk

此功能适用于 Greengrass nucleus 组件的 v2.11.0 及更高版本。

重要

如果 MQTT 后台处理程序设置storageType为,Disk并且您想将 Greengrass nucleus 从 2.11.x 版本降级到早期版本,则必须将配置更改回到。MemoryGreengrass nucleus 版本 2.10.x 及更早版本支持的唯一配置是。storageType Memory不遵循此指导可能会导致后台处理程序中断。这将导致您的 Greengrass 核心设备无法向发送 MQTT 消息。 Amazon Web Services 云

默认:Memory

pluginName

(可选)插件组件名称。只有设置为时,才会使用storageType此组件Disk。此选项默认为aws.greengrass.DiskSpooler并将使用 GreenGr 磁盘后台处理程序 ass 提供的选项。

此功能适用于 Greengrass nucleus 组件的 v2.11.0 及更高版本。

默认:"aws.greengrass.DiskSpooler"

maxSizeInBytes

(可选)核心设备在内存中存储未处理的 MQTT 消息的最大缓存大小。如果缓存已满,则新消息将被拒绝。

默认值:2621440(2.5 MB)

keepQos0WhenOffline

(可选)您可以对核心设备离线时收到的 MQTT QoS 0 消息进行后台处理。如果将此选项设置为true,则核心设备会对离线时无法发送的 QoS 0 消息进行后台处理。如果将此选项设置为false,则核心设备会丢弃这些消息。除非线轴已满,否则核心设备总是假脱机 QoS 1 消息。

默认:false

version

(可选)MQTT 的版本。您可指定 mqtt3mqtt5

此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。

默认:mqtt5

receiveMaximum

(可选)代理可以发送的未确认的 QoS1 数据包的最大数量。

此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。

默认:100

sessionExpirySeconds

(可选)您可以从 IoT Core 请求持续会话的时间(以秒为单位)。默认值为支持的最长时间 Amazon IoT Core。

此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。

默认:604800 (7 days)

minimumReconnectDelaySeconds

(可选)重新连接行为的选项。MQTT 重新连接的最短时间(以秒为单位)。

此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。

默认:1

maximumReconnectDelaySeconds

(可选)重新连接行为的选项。MQTT 重新连接的最大时间(以秒为单位)。

此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。

默认:120

minimumConnectedTimeBeforeRetryResetSeconds

(可选)重新连接行为的选项。在将重试延迟重置回最小值之前,连接必须处于活动状态的时间(以秒为单位)。

此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。

默认:30

jvmOptions

(可选)用于运行 Amazon IoT Greengrass 核心软件的 JVM 选项。有关运行 C Amazon IoT Greengrass ore 软件时推荐的 JVM 选项的信息,请参阅使用 JVM 选项控制内存分配

重要

当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。

iotDataEndpoint

您的 Amazon IoT 数据端点 Amazon Web Services 账户。

当你使用该--provision true选项运行 Amazon IoT Greengrass Core 软件时,该软件会从 Amazon IoT 中获取你的数据和凭据端点,并将其设置在 nucleus 组件中。

iotCredEndpoint

您的 Amazon IoT 凭证终端节点 Amazon Web Services 账户。

当你使用该--provision true选项运行 Amazon IoT Greengrass Core 软件时,该软件会从 Amazon IoT 中获取你的数据和凭据端点,并将其设置在 nucleus 组件中。

greengrassDataPlaneEndpoint

此功能在该组件的 2.7.0 及更高版本中可用。

有关更多信息,请参阅 使用由私有 CA 签名的设备证书

greengrassDataPlanePort

此功能在该组件的 v2.0.4 及更高版本中可用。

(可选)用于数据平面连接的端口。有关更多信息,请参阅 通过端口 443 或网络代理进行连接

重要

您必须指定设备可以进行出站连接的端口。如果您指定被屏蔽的端口,则设备将无法连接 Amazon IoT Greengrass 以接收部署。

从以下选项中进行选择:

  • 443

  • 8443

默认:8443

awsRegion

Amazon Web Services 区域 要使用的。

runWithDefault

用于运行组件的系统用户。

重要

当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。

该对象包含以下信息:

posixUser

核心设备用于运行通用组件和 Lambda 组件的系统用户的名称或 ID,以及可选的系统组。使用以下格式指定由半角冒号(:)分隔的用户和组:user:group。组是可选的。如果您未指定群组,则 Amazon IoT Greengrass Core 软件将使用该用户的主群组。举例来说,可以指定 ggc_userggc_user:ggc_group。有关更多信息,请参阅 配置运行组件的用户

当你使用--component-default-user ggc_user:ggc_group选项运行 Amazon IoT Greengrass Core 软件安装程序时,软件会在 nucleus 组件中设置此参数。

windowsUser

此功能在此组件的 v2.5.0 及更高版本中可用。

用于在 Windows 核心设备上运行此组件的 Windows 用户的名称。用户必须存在于每台 Windows 核心设备上,其用户名和密码必须存储在 LocalSystem 账户的凭据管理器实例中。有关更多信息,请参阅 配置运行组件的用户

当你使用--component-default-user ggc_user选项运行 Amazon IoT Greengrass Core 软件安装程序时,软件会在 nucleus 组件中设置此参数。

systemResourceLimits

此功能在该组件的 v2.4.0 及更高版本中可用。 Amazon IoT Greengrass 目前不支持在 Windows 核心设备上使用此功能。

默认情况下,适用于通用和非容器化 Lambda 组件进程的系统资源限制。在创建部署时,您可以覆盖各个组件的系统资源限制。有关更多信息,请参阅 为组件配置系统资源限制

该对象包含以下信息:

cpus

每个组件的进程可以在核心设备上使用的最大 CPU 时间。核心设备的总 CPU 时间等于 CPU 核心的设备数量。例如,在具有 4 个 CPU 内核的核心设备上,您可以将此值设置为,2将每个组件的进程使用率限制为每个 CPU 内核的 50%。在具有 1 个 CPU 内核的设备上,您可以将此值设置为,0.25将每个组件的进程的 CPU 使用率限制在 25% 以内。如果将此值设置为大于 CPU 内核数的数字,则 Amazon IoT Greengrass Core 软件不会限制组件的 CPU 使用率。

memory

每个组件的进程可以在核心设备上使用的最大 RAM 量(以千字节为单位)。

s3EndpointType

(可选)S3 端点类型。此参数仅对美国东部(弗吉尼亚北部)(us-east-1) 区域生效。从任何其他区域设置此参数将被忽略。从以下选项中进行选择:

  • REGIONAL— S3 客户端和预签名 URL 使用区域终端节点。

  • GLOBAL— S3 客户端和预签名 URL 使用旧版终端节点。

默认:GLOBAL

logging

(可选)核心设备的日志配置。有关如何配置和使用 Greengrass 日志的更多信息,请参阅。监控Amazon IoT Greengrass日志

该对象包含以下信息:

level

(可选)要输出的最低日志消息级别。

从以下日志级别中进行选择,此处按级别顺序列出:

  • DEBUG

  • INFO

  • WARN

  • ERROR

默认:INFO

format

(可选)日志的数据格式。从以下选项中进行选择:

默认:TEXT

outputType

(可选)日志的输出类型。从以下选项中进行选择:

  • FILE— C Amazon IoT Greengrass ore 软件将日志输出到您在中指定的目录中的文件outputDirectory

  • CONSOLE— C Amazon IoT Greengrass ore 软件将日志打印到stdout。选择此选项可在核心设备打印日志时查看日志。

默认:FILE

fileSizeKB

(可选)每个日志文件的最大大小(以千字节为单位)。日志文件超过此最大文件大小后, Amazon IoT Greengrass Core 软件会创建一个新的日志文件。

此参数仅在您FILE为指定时适用outputType

默认:1024

totalLogsSizeKB

(可选)每个组件(包括 Greengrass 核)的最大日志文件总大小(以千字节为单位)。Greengrass nucleus 的日志文件还包括来自插件组件的日志。当组件的日志文件总大小超过此最大大小后, Amazon IoT Greengrass Core 软件会删除该组件最旧的日志文件。

此参数等同于日志管理器组件的磁盘空间限制参数 (diskSpaceLimit),您可以为 Greengrass 核(系统)和每个组件指定该参数。 Amazon IoT Greengrass Core 软件使用两个值中的最小值作为 Greengrass 核和每个组件的最大总日志大小。

此参数仅在您FILE为指定时适用outputType

默认:10240

outputDirectory

(可选)日志文件的输出目录。

此参数仅在您FILE为指定时适用outputType

默认:/greengrass/v2/logs, Amazon IoT Greengrass 根文件夹在/greengrass/v2哪里。

fleetstatus

此参数在该组件的 v2.1.0 及更高版本中可用。

(可选)核心设备的队列状态配置。

该对象包含以下信息:

periodicStatusPublishIntervalSeconds

(可选)核心设备向发布设备状态的间隔时间(以秒为单位) Amazon Web Services 云。

最短:86400(24 小时)

默认值:86400(24 小时)

telemetry

(可选)核心设备的系统运行状况遥测配置。有关遥测指标以及如何处理遥测数据的更多信息,请参阅。从Amazon IoT Greengrass核心设备收集系统运行状况遥测数据

该对象包含以下信息:

enabled

(可选)您可以启用或禁用遥测。

默认:true

periodicAggregateMetricsIntervalSeconds

(可选)核心设备汇总指标的时间间隔(以秒为单位)。

如果将此值设置为低于支持的最小值,则 nucleus 将改用默认值。

最低:3600

默认:3600

periodicPublishMetricsIntervalSeconds

(可选)核心设备向发布遥测指标的间隔时间(以秒为单位)。 Amazon Web Services 云

如果将此值设置为低于支持的最小值,则 nucleus 将改用默认值。

最低:86400

默认:86400

deploymentPollingFrequencySeconds

(可选)轮询部署通知的时间段(以秒为单位)。

默认:15

componentStoreMaxSizeBytes

(可选)组件存储在磁盘上的最大大小,其中包括组件配方和工件。

默认值:10000000000(10 GB)

platformOverride

(可选)标识核心设备平台的属性字典。使用它来定义自定义平台属性,组件配方可以使用这些属性来识别组件的正确生命周期和工件。例如,您可以定义硬件功能属性以仅部署最少的构件集以供组件运行。有关更多信息,请参阅组件配方中的清单平台参数

您也可以使用此参数来覆盖核心设备的architecture和平台属性。os

httpClient

此参数在该组件的 v2.5.0 及更高版本中可用。

(可选)核心设备的 HTTP 客户端配置。这些配置选项适用于该组件发出的所有 HTTP 请求。如果核心设备在速度较慢的网络上运行,则可以增加这些超时持续时间以防止 HTTP 请求超时。

该对象包含以下信息:

connectionTimeoutMs

(可选)连接请求超时之前等待连接打开的时间(以毫秒为单位)。

默认:2000(2 秒)

socketTimeoutMs

(可选)在连接超时之前等待通过打开的连接传输数据的时间(以毫秒为单位)。

默认值:30000(30 秒)

例 示例:配置合并更新
{ "iotRoleAlias": "GreengrassCoreTokenExchangeRoleAlias", "networkProxy": { "noProxyAddresses": "http://192.168.0.1,www.example.com", "proxy": { "url": "http://my-proxy-server:1100", "username": "Mary_Major", "password": "pass@word1357" } }, "mqtt": { "port": 443 }, "greengrassDataPlanePort": 443, "jvmOptions": "-Xmx64m", "runWithDefault": { "posixUser": "ggc_user:ggc_group" } }

本地日志文件

此组件使用以下日志文件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将/greengrass/v2C:\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.12.6

错误修复和改进
  • 修复了导致某些 ARMv8 处理器(包括 Jetson Nano)在启动时崩溃的问题。

2.12.5

错误修复和改进
  • 修复了在回滚以前损坏的具有硬依赖关系的组件时,部署回滚偶尔会卡住的问题。

  • 修复了队列配置后 nucleus 不发布状态更新的问题。

  • 在出现 404 错误后为 GetDeploymentConfiguration API 添加重试次数。

2.12.4

错误修复和改进
  • 修复了在某些 Linux 设备上启动时核心进入死锁状态的问题。

2.12.3

警告

此版本不再可用。此版本的改进将在此组件的更高版本中提供。

错误修复和改进

  • 修复了在原子核重启后和组件恢复期间,原子核无法报告正确的组件状态的问题。

  • 常规错误修复和性能改进。

2.12.2

错误修复和改进
  • 修复了旧日志未正确清理的问题。

  • 常规错误修复和性能改进。

2.12.1

错误修复和改进
  • 修复了核心可能会重复订阅部署主题的 MQTT,从而导致额外的日志记录和 MQTT 发布的问题。

2.12.0

新功能
  • 使您能够将引导生命周期步骤作为回滚部署的一部分运行。

2.11.3

错误修复和改进
  • 修复了 nucleus 中的一个问题,即当组件的依赖关系失败时,它可能会不正确地启动组件。

新功能
  • 添加可配置的 s3 端点类型。

2.11.2

错误修复和改进
  • 修复了 nucleus MQTT 5 客户端中的一个问题,即在使用大量(> 50)订阅时,它可能会显示为离线。

  • 为 docker 拨号 TCP 失败添加了重试功能。

2.11.1

错误修复和改进
  • 修复了在引导任务失败且部署元数据文件损坏时,nucleus 无法启动的问题。

  • 修复了部署状态更新中未报告按需 Lambda 组件的问题。

  • 增加了对重复授权策略 ID 的支持。

2.11.0

新功能
  • 允许您取消本地部署。

  • 使您能够为本地部署配置故障处理策略。

  • 添加了对磁盘后台处理程序插件的支持。

2.10.3

错误修复和改进
  • 修复了使用 PKCS #11 提供程序时 Greengrass 不订阅部署通知的问题。

2.10.2

错误修复和改进
  • 允许对组件生命周期进行不区分大小写的解析。

  • 修复了未正确重新创建环境 PATH 变量的问题。

  • 修复了组件的代理 URI 编码,包括带有特殊字符的用户名的流管理器。

2.10.1

错误修复和改进
  • 修复了可能导致某些 ARMv8 处理器(包括 Jetson Nano)在启动时崩溃的问题。

  • Greengrass 不再关闭组件的标准,这会将行为恢复到 2.10.0 之前的行为

2.10.0

新功能
  • 添加对空正则表达式的interpolateComponentConfiguration支持。Greengrass 现在可以从根配置对象中进行插值。

  • 添加了对 MQTT5 的支持。

  • 添加了无需扫描即可快速加载插件组件的机制。

  • 让 Greengrass 能够通过删除未使用的 Docker 镜像来节省磁盘空间。

错误修复和改进
  • 修复了回滚会使部署中的某些配置值保持不变的问题。

  • 修复了 Greengrass nucleus 验证自定义非凭据和数据端点中的域序列的问题。 Amazon Amazon

  • 更新多组依赖关系解析以通过 Amazon Web Services 云 协商重新解析所有组依赖关系,而不是锁定到活动版本。此更新还删除了部署错误代码INSTALLED_COMPONENT_NOT_FOUND

  • 更新 Greengrass 核心,使其在本地已存在 Docker 镜像时跳过下载这些镜像。

  • 更新 Greengrass 核心,以便在超时到期之前重新启动组件安装步骤。

  • 其他小修复和改进。

2.9.6

错误修复和改进
  • 修复了 Greengrass 部署失败并显示错误 LAUNCH_DIRECTORY_CORTED 以及随后的设备重启无法启动 Greengrass 的问题。当您在部署需要 Greengrass 重启的多个事物组之间移动 Greengrass 设备时,可能会发生此错误。

2.9.5

新功能
  • 增加了对 Greengrass nucleus 软件签名验证的支持。

错误修复和改进
  • 修复了本地配方元数据区域与 Greengrass nucleus 启动区域不匹配时部署失败的问题。当这种情况发生时,Greengrass 核现在会与云重新协商。

  • 修复了 MQTT 消息后台处理程序已满且从不删除消息的问题。

  • 其他小修复和改进。

2.9.4

错误修复和改进
  • 在丢弃 QOS 0 消息之前检查是否存在空消息。

  • 如果作业状态详细信息值超过 1024 个字符的限制,则将其截断。

  • 更新 Windows 的引导脚本以正确读取 Greengrass 根路径(如果该路径包含空格)。

  • 更新订阅, Amazon IoT Core 以便在未发送订阅响应时丢弃客户端消息。

  • 确保 nucleus 在主配置文件损坏或丢失时从备份文件加载其配置。

2.9.3

错误修复和改进
  • 确保 MQTT 客户端 ID 不重复。

  • 增加了更强大的文件读取和写入功能,以避免损坏并从损坏中恢复。

  • 重试 docker 镜像拉取特定的网络相关错误。

  • 添加了 MQTT 连接noProxyAddresses选项。

2.9.2

错误修复和改进
  • 修复了配置interpolateComponentConfiguration不适用于正在进行的部署的问题。

  • 使用 OSHI 列出所有子进程。

2.9.1

错误修复和改进
  • 添加了在部署移除插件组件时 Greengrass 会重新启动的修复程序。

2.9.0

新功能
  • 添加了创建子部署的功能,这些子部署可以重试使用较小的设备子集进行部署。此功能提供了一种更有效的方法来测试和解决不成功的部署。

错误修复和改进
  • 改进了对没有useraddgroupadd、和的系统的支持usermod

  • 其他小修复和改进。

2.8.1

错误修复和改进
  • 修复了 Greengrass API 错误导致部署错误代码未正确生成的问题。

  • 修复了在部署期间组件达到某个状态时,舰队状态更新发送的ERRORED信息不准确的问题。

  • 修复了 Greengrass 现有订阅超过 50 个时部署无法完成的问题。

2.8.0

新功能
  • 在将组件部署到核心设备时出现问题时,更新 Greengrass nucleus 以报告部署运行状况响应,其中包括详细的错误代码。有关更多信息,请参阅 详细的部署错误代码

  • 更新 Greengrass nucleus 以报告组件健康状态响应,其中包括组件进入或状态时的详细错误代码。BROKEN ERRORED有关更多信息,请参阅 详细的组件状态码

  • 扩展状态消息字段以改善设备的云可用性信息。

  • 提高了舰队状态服务的稳健性。

错误修复和改进
  • 允许损坏的组件在配置更改时重新安装。

  • 修复了在 bootstrap 部署期间重启 nucleus 会导致部署失败的问题。

  • 修复了 Windows 中根路径包含空格时安装失败的问题。

  • 修复了在部署期间关闭的组件使用新版本的关闭脚本的问题。

  • 各种关机改进。

  • 其他小修复和改进。

2.7.0

新功能
  • 更新 Greengrass 核心,以便在核心设备应用本地部署时向 Amazon IoT Greengrass 云端发送状态更新。

  • 添加对由自定义证书颁发机构 (CA) 签名的客户端证书的支持,CA 未在其中注册 Amazon IoT。要使用此功能,可以将新的greengrassDataPlaneEndpoint配置选项设置为iotdata。有关更多信息,请参阅 使用由私有 CA 签名的设备证书

错误修复和改进
  • 修复了在某些情况下,当原子核停止或重新启动时,Greengrass 核会回滚部署的问题。现在,在原子核重启后,原子核会恢复部署。

  • 当您指定将软件设置为系统服务时,更新 Greengrass 安装程序以遵守--start该参数。

  • 更新行为SubscribeToComponentUpdates以在核心更新组件的事件中设置部署 ID。

  • 其他小修复和改进。

2.6.0

新功能
  • 当您订阅本地发布/订阅主题时,添加对 MQTT 通配符的支持。有关更多信息,请参阅 发布/订阅本地消息SubscribeToTopic

  • 在组件配置中添加对配方变量(component_dependency_name:configuration:json_pointer配方变量除外)的支持。在配方中定义组件或在部署DefaultConfiguration中配置组件时,可以使用这些配方变量。要启用此功能,请将插值ComponentConfiguration配置选项设置为。true有关更多信息,请参阅 食谱变量在合并更新中使用配方变量

  • 在进程间通信 (IPC) * 授权策略中添加对通配符的完全支持。现在,您可以在资源字符串中*指定字符以匹配任意字符组合。有关更多信息,请参阅 授权策略中的通配符

  • 添加了对自定义组件的支持,以调用 Greengrass CLI 使用的 IPC 操作。您可以使用这些 IPC 操作来管理本地部署、查看组件详细信息以及生成用于登录本地调试控制台的密码。有关更多信息,请参阅 IPC:管理本地部署和组件

错误修复和改进
  • 修复了依赖组件在某些情况下在硬依赖项重新启动或更改状态时不会做出反应的问题。

  • 改进了部署失败时核心设备向 Amazon IoT Greengrass 云服务报告的错误消息。

  • 修复了在某些情况下,当原子核重启时,Greengrass 核两次应用事物部署的问题。

  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

2.5.6

新功能
  • 增加了对使用 ECC 密钥的硬件安全模块的支持。您可以使用硬件安全模块 (HSM) 来安全地存储设备的私钥和证书。有关更多信息,请参阅 硬件安全性集成

错误修复和改进
  • 修复了在某些情况下部署安装脚本损坏的组件时,部署永远不会完成的问题。

  • 提高了启动期间的性能。

  • 其他小修复和改进。

2.5.5

新功能
  • 为组件添加GG_ROOT_CA_PATH环境变量,这样您就可以在自定义组件中访问根证书颁发机构 (CA) 证书。

错误修复和改进
  • 添加对使用非英语显示语言的 Windows 设备的支持。

  • 更新 Greengrass nucleus 解析布尔安装程序参数的方式,因此您可以指定不带布尔值的布尔参数来指定值。true例如,您现在可以指定--provision而不是使用自动资源配置--provision true进行安装。

  • 修复了在某些情况下核心设备在配置后未向 Amazon IoT Greengrass 云服务报告其状态的问题。

  • 其他小修复和改进。

2.5.4

错误修复和改进
  • 常规错误修复和性能改进。

2.5.3

新功能
  • 增加了对硬件安全集成的支持。您可以使用硬件安全模块 (HSM) 来安全地存储设备的私钥和证书。有关更多信息,请参阅 硬件安全性集成

错误修复和改进
  • 修复了在 nucleus 与建立 MQTT 连接时出现运行时异常的问题。 Amazon IoT Core

2.5.2

错误修复和改进
  • 修复了 Greengrass nucleus 更新后,Windows 服务在你停止或重启设备后无法重新启动的问题。

2.5.1

警告

此版本不再可用。此版本的改进将在此组件的更高版本中提供。

错误修复和改进
  • 在 Windows 上添加对 32 位版本的 Java 运行时环境 (JRE) 的支持。

  • 更改 Amazon IoT 策略未授予greengrass:ListThingGroupsForCoreDevice权限的核心设备的事物组移除行为。在此版本中,部署会继续,记录警告,并且在从事物组中移除核心设备时不会移除组件。有关更多信息,请参阅 将Amazon IoT Greengrass组件部署到设备

  • 修复了 Greengrass 核心向 Greengrass 组件进程提供的系统环境变量的问题。现在,您可以重新启动组件,使其使用最新的系统环境变量。

2.5.0

新功能
  • 增加了对运行 Windows 的核心设备的支持。

  • 更改移除事物组的行为。使用此版本,您可以从事物组中移除核心设备,以便在下次部署中卸载该事物组的组件。

    由于此更改,核心设备的 Amazon IoT 策略必须具有greengrass:ListThingGroupsForCoreDevice权限。如果您使用Amazon IoT Greengrass 核心软件安装程序来配置资源,则默认 Amazon IoT 策略允许greengrass:*,其中包括此权限。有关更多信息,请参阅 Amazon IoT Greengrass 的设备身份验证和授权

  • 添加了对 HTTPS 代理配置的支持。有关更多信息,请参阅 通过端口 443 或网络代理进行连接

  • 添加新的windowsUser配置参数。您可以使用此参数来指定在 Windows 核心设备上运行组件时使用的默认用户。有关更多信息,请参阅 配置运行组件的用户

  • 添加了新的httpClient配置选项,您可以使用这些选项来自定义 HTTP 请求超时时间,从而提高慢速网络的性能。有关更多信息,请参阅 HttpClient 配置参数。

错误修复和改进
  • 修复了从组件重启核心设备的 bootstrap 生命周期选项。

  • 在配方变量中添加对连字符的支持。

  • 修复了按需 Lambda 函数组件的 IPC 授权。

  • 改进了日志消息并将非关键日志从级别更改INFODEBUG级别,因此日志更有用。

  • 移除 Greengrass nucleus 在安装 Amazon IoT Greengrass 具有自动配置功能的 Core 软件时创建的默认令牌交换角色iot:DescribeCertificate权限。Greengrass 核不使用此权限。

  • 修复了一个问题,使自动配置脚本不需要该iam:GetPolicy权限(如果iam:CreatePolicy适用于同一策略)。

  • 其他小修复和改进。

2.4.0

新功能
错误修复和改进
  • 启动时更新日志配置。这修复了启动时未应用日志配置的问题。

  • 在安装过程中,更新 nucleus 加载器符号链接以指向 Greengrass 根文件夹中的组件存储。此更新使您能够删除安装 C Amazon IoT Greengrass ore 软件时下载的 JAR 文件和其他 Nucleus 工件。

  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

2.3.0

新功能
  • 添加iot:thingName配方变量。你可以使用这个配方变量来获取配方中 Amazon IoT 核心设备的名称。有关更多信息,请参阅 食谱变量

错误修复和改进
  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

2.2.0

新功能
  • 为本地影子管理添加 IPC 操作。

错误修复和改进
  • 减小 JAR 文件的大小。

  • 减少内存使用量。

  • 修复了在某些情况下日志配置未更新的问题。

  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

2.1.0

新功能
  • 支持从 Amazon ECR 中的私有存储库下载 Docker 镜像。

  • 添加以下参数以自定义核心设备上的 MQTT 配置:

    • maxInFlightPublishes— 可以同时传输的未确认的 MQTT QoS 1 消息的最大数量。

    • maxPublishRetry— 重试发布失败的消息的最大次数。

  • 添加fleetstatusservice配置参数以配置核心设备向发布设备状态的时间间隔 Amazon Web Services 云。

  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

错误修复和改进
  • 修复了在 nucleus 重启时导致影子部署重复的问题。

  • 修复了在遇到服务加载异常时导致 nucleus 崩溃的问题。

  • 改进了组件依赖关系解决方案,使包含循环依赖关系的部署失败。

  • 修复了如果插件组件之前已从核心设备中移除,则无法重新部署该组件的问题。

  • 修复了导致将HOME环境变量设置为 Lambda 组件或以 root 身份运行的组件的/greengrass/v2/work目录的问题。现在,该HOME变量已正确设置为运行该组件的用户的主目录。

  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

2.0.5

错误修复和改进
  • 下载 Amazon提供的组件时,通过配置的网络代理正确路由流量。

  • 在中国区域使用正确的 Greengrass 数据平面终端节点。 Amazon

2.0.4

新功能
  • 启用通过端口 443 的 HTTPS 流量。你可以使用 nucleus 组件版本 2.0.4 的新greengrassDataPlanePort配置参数将 HTTPS 通信配置为通过端口 443 而不是默认端口 8443 传输。有关更多信息,请参阅 通过端口 443 配置 HTTPS

  • 添加工作路径配方变量。您可以使用此配方变量来获取组件工作文件夹的路径,您可以使用该路径在组件及其依赖项之间共享文件。有关更多信息,请参阅工作路径配方变量

错误修复和改进
  • 如果角色策略已经存在,则阻止创建令牌交换 Amazon Identity and Access Management (IAM) 角色策略。

    由于这一更改,安装程序现在需要sts:GetCallerIdentity使用iam:GetPolicy--provision true。有关更多信息,请参阅 安装程序配置资源的最低 IAM 政策

  • 正确处理尚未成功注册的部署的取消问题。

  • 更新配置以在回滚部署时删除带有较新时间戳的较旧条目。

  • 其他小修复和改进。有关更多信息,请参阅上的版本 GitHub。

2.0.3

初始版本。