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核心软件。部署此组件以在核心设备上配置代理、设备角色和Amazon IoT事物配置等设置。

重要

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

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

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

版本

此组件有以下版本:

  • 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 和Amazon IoT Greengrass Core 软件。有关更多信息,请参阅设备要求

附属物

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

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

下载和安装

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

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

配置

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

iotRoleAlias

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

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

interpolateComponentConfiguration

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

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

默认值:false

networkProxy

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

重要

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

此对象包含以下信息:

noProxyAddresses

(可选)免于代理的 IP 地址或主机名列表(以逗号分隔)。

proxy

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

url

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

  • scheme— 方案,必须是httphttps

    重要

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

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

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

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

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

    • http— 80

    • https— 443

username

(可选)用于验证代理服务器的用户名。

password

(可选)用于验证代理服务器的密码。

mqtt

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

重要

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

此对象包含以下信息:

port

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

默认值:8883

keepAliveTimeoutMs

(可选)客户端为保持 MQTT 连接处于活动状态而发送的每PING条消息之间的时间间隔(以毫秒为单位)。

默认值:60000(60 秒)

pingTimeoutMs

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

默认值: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 后台处理器配置。此对象包含以下信息:

maxSizeInBytes

(可选)核心设备在内存中存储未处理的 MQTT 消息的缓存的最大大小。如果缓存已满,则核心设备会丢弃最旧的消息以添加新消息。

默认值:2621440(2.5 MB)

keepQos0WhenOffline

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

默认值:false

jvmOptions

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

重要

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

iotDataEndpoint

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

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

iotCredEndpoint

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

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

greengrassDataPlaneEndpoint

此功能在此组件的 v2.7.0 及更高版本中提供。

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

greengrassDataPlanePort

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

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

重要

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

从以下选项中进行选择:

  • 443

  • 8443

默认值:8443

awsRegion

Amazon Web Services 区域要使用的。

runWithDefault

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

重要

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

此对象包含以下信息:

posixUser

系统用户的名称或 ID,以及核心设备用于运行通用组件和 Lambda 组件的系统组(可选)。使用以下格式指定由半角冒号(:)分隔的用户和组:user:group。组是可选的。如果您未指定组,则Amazon IoT Greengrass核心软件会为用户使用主要组。举例来说,可以指定 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 账户的 Credenties Manager 中。有关更多信息,请参阅配置运行组件的用户

当您使用该--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此值设置为,以便将每个组件进程限制为 25%。如果您将此值设置为大于 CPU 核心数量的数字,则Amazon IoT Greengrass核心软件不会限制组件的 CPU 使用。

memory

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

logging

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

此对象包含以下信息:

level

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

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

默认值:INFO

format

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

默认值:TEXT

outputType

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

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

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

默认值:FILE

fileSizeKB

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

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

默认值:1024

totalLogsSizeKB

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

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

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

默认值:10240

outputDirectory

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

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

默认:/greengrass/v2/logs,其中 /greengrass/v2 是Amazon IoT Greengrass根文件夹。

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

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

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

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

更改日志

下表描述组件每个版本的更改。

Version

变更

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 以报告组件健康状态响应,其中包括组件进入BROKENERRORED状态时的详细错误代码。有关更多信息,请参阅详细的组件状态代码

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

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

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

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

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

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

  • 各种关机改进。

  • 其他小修复和改进。

2.7.0

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

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

缺陷修复和改进
  • 修复了在某些情况下当核停止或重启时 Greengrass 核会回退部署的问题。现在,在核重启后,核会恢复部署。

  • 更新 Greengrass 安装程序,使其在指定将软件设置为系统服务时遵循该--start参数。

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

  • 其他小修复和改进。

2.6.0

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

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

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

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

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

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

  • 修复了 Greengrass nucleus 在某些场景中两次在核重启时应用事物部署的问题。

  • 其他小修复和改进。有关更多信息,请参阅上的更改日志 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) 来安全存储设备的私钥和证书。有关更多信息,请参阅硬件安全性集成

缺陷修复和改进
  • 修复了核与建立 MQTT 连接时出现的运行时异常问题Amazon IoT Core。

2.5.2

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

2.5.1

警告

此版本不再可用。此版本的改进可在该组件的后续版本中找到。

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

  • 更改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 e 配置参数。

缺陷修复和改进
  • 修复了引导生命周期选项,用于从组件重启核心设备。

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

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

  • 改进了日志消息并将非关键日志从INFO一个DEBUG级别更改为一个级别,因此日志更有用。

  • 移除 Greengrass nucleus 在安装具有自动配置功能的Amazon IoT Greengrass核心软件时创建的默认代币交换角色iot:DescribeCertificate权限。Greengrass 核心没有使用这个权限。

  • 修复了一个问题,使得自动配置脚本在可用于同一策略时不需要iam:GetPolicy权限。iam:CreatePolicy

  • 其他小修复和改进。

2.4.0

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

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

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

2.3.0

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

缺陷修复和改进
  • 其他小修复和改进。有关更多信息,请参阅上的更改日志 GitHub。

2.2.0

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

缺陷修复和改进
  • 减小 JAR 文件的大小。

  • 减少内存使用量。

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

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

2.1.0

新功能
  • 支持从亚马逊 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提供的组件时,通过配置的网络代理正确路由流量。

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

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

初始版本。