

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 什么是 AWS IoT Greengrass？
<a name="what-is-gg"></a>

AWS IoT Greengrass 是将云功能扩展到本地设备的软件。这使得设备可以更靠近信息源来收集和分析数据，自主响应本地事件，同时在本地网络上彼此安全地通信。本地设备还可以安全地与物联网通信 AWS IoT Core 并将物联网数据导出到 AWS 云。 AWS IoT Greengrass 开发人员可以使用 AWS Lambda 函数和预先构建的[连接器](connectors.md)来创建部署到设备上进行本地执行的无服务器应用程序。

下图显示了的基本架构 AWS IoT Greengrass。

![\[Greengrass 核心支持本地执行 Lambda、消息收发、设备影子和安全。Greengrass 内核与交互并在本地工作，连接断续续 AWS 云 。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/greengrass.png)


AWS IoT Greengrass 使客户可以构建物联网设备和应用逻辑。具体而言， AWS IoT Greengrass 它为在设备上运行的应用程序逻辑提供基于云的管理。在本地部署的 Lambda 函数和连接器通过本地事件以及来自云或其他来源的消息触发。

在中 AWS IoT Greengrass，设备无需连接到云端即可在本地网络上安全地通信并相互交换消息。 AWS IoT Greengrass 提供了一个本地 pub/sub 消息管理器，它可以在连接中断时智能地缓冲消息，从而保留云端的入站和出站消息。

AWS IoT Greengrass 保护用户数据：
+ 通过安全的设备身份验证和授权。
+ 通过本地网络中的安全连接。
+ 在本地设备与云之间。

设备安全凭证在撤销之前一直在组中有效，即使到云的连接中断，设备可以继续在本地安全地进行通信。

AWS IoT Greengrass 提供 Lambda 函数的安全 over-the-air更新。

AWS IoT Greengrass 包括：
+ 软件分发
  + AWS IoT Greengrass 核心软件
  + AWS IoT Greengrass 核心软件开发工具包
+ 云服务
  + AWS IoT Greengrass API
+ 功能
  + Lambda 运行时
  + 影子实施
  + 消息管理器
  + 组管理
  + 发现服务
  + Over-the-air 更新代理
  + 流管理器
  + 本地资源访问
  + 本地机器学习推理
  + 本地 Secrets Manager
  + 内置集成了服务、协议和软件的连接器

**Topics**
+ [AWS IoT Greengrass 核心软件](#gg-core-software)
+ [AWS IoT Greengrass 群组](#gg-group)
+ [中的设备 AWS IoT Greengrass](#devices)
+ [SDKs](#gg-sdks)
+ [支持的平台和要求](#gg-platforms)
+ [AWS IoT Greengrass 下载](#gg-downloads)
+ [我们希望听到您的意见和建议](#contact-us)
+ [安装 AWS IoT Greengrass 核心软件](install-ggc.md)
+ [配置内 AWS IoT Greengrass 核](gg-core.md)

## AWS IoT Greengrass 核心软件
<a name="gg-core-software"></a>

 AWS IoT Greengrass 核心软件提供以下功能：<a name="ggc-software-features"></a>
+ 连接器和 Lambda 函数的部署和本地运行。
+ 在本地处理数据流，并自动导出到 AWS 云。
+ 使用托管订阅通过本地网络在设备、连接器和 Lambda 函数之间进行的 MQTT 消息传递。
+ 使用托管订阅在设备、连接器 AWS IoT 和 Lambda 函数之间进行 MQTT 消息传递。
+ 设备与 AWS 云 使用设备身份验证和授权之间的安全连接。
+ 设备的本地影子同步。影子可配置为与 AWS 云同步。
+ 对本地设备和卷资源的受控访问。
+ 用于运行本地推理的云训练机器学习模型的部署。
+ 使设备能够发现 Greengrass 核心设备的自动 IP 地址检测。
+ 全新的或更新的组配置的集中部署。下载配置数据后，核心设备将自动重启。
+ 对用户定义的 Lambda 函数进行安全 over-the-air (OTA) 软件更新。
+ 本地密钥的安全、加密的存储以及连接器和 Lambda 函数进行的受控访问。

AWS IoT Greengrass 核心实例 AWS IoT Greengrass APIs 是通过创建和更新存储在云中的 AWS IoT Greengrass 组定义来配置的。

### AWS IoT Greengrass 核心软件版本
<a name="ggc-versions"></a>

AWS IoT Greengrass 提供了多种安装 AWS IoT Greengrass 核心软件的选项，包括 tar.gz 下载文件、快速入门脚本以及在支持的 Debian 平台上`apt`安装。有关更多信息，请参阅 [安装 AWS IoT Greengrass 核心软件](install-ggc.md)。

以下选项卡描述了 C AWS IoT Greengrass ore 软件版本中的新增内容和变更内容。

------
#### [ GGC v1.11 ]<a name="ggc-v1.11-tab"></a>

1.11.6  
错误修复和改进：  
+ 改进了部署期间突然断电时的恢复能力。
+ 修复了流管理器数据损坏可能阻止 AWS IoT Greengrass Core 软件启动的问题。
+ 修复了在某些情况下新客户端设备无法连接到核心的问题。
+ 修复了流管理器流名称无法包含 `.log` 的问题。

1.11.5  
错误修复和改进：  
+ 常规性能改进和错误修复。

1.11.4  
错误修复和改进：  
+ 修复了直播管理器无法升级到 AWS IoT Greengrass 核心软件 v1.11.3 的问题。如果您使用流管理器将数据导出到云端，则现在可以使用 OTA 更新将早期 v1.x 版本的 C AWS IoT Greengrass ore 软件升级到 v1.11.4。
+ 常规性能改进和错误修复。

1.11.3  
错误修复和改进：  
+ 修复了导致在 Ubuntu 设备上快速运行的 C AWS IoT Greengrass ore 软件在设备突然断电后停止响应的问题。
+ 修复了一个问题，该问题导致向长时间生存的 Lambda 函数传送 MQTT 消息时出现延迟。
+ 修复了一个问题，该问题导致 `maxWorkItemCount` 值设置为大于 `1024` 时无法正确发送 MQTT 消息。
+ 修复了一个问题，该问题导致 OTA 更新代理忽略 [`config.json`](gg-core.md#config-json) 的 `keepAlive` 属性中指定的 MQTT `KeepAlive` 周期。
+ 常规性能改进和错误修复。
如果您使用流管理器将数据导出到云端，请*不要*从较早的 v1.x 版本升级到 C AWS IoT Greengrass ore 软件 v1.11.3。如果您是首次启用直播管理器，我们强烈建议您先安装最新版本的 AWS IoT Greengrass Core 软件。

1.11.1  
 错误修复和改进：  
+ 修复了导致流管理器内存使用量增大的问题。
+ 修复了在 Greengrass 核心设备关闭时间超过 time-to-live指定的 (TTL) 流数据`0`时段时，直播管理器会将直播的序列号重置为的问题。
+ 修复了一个问题，该问题导致流管理器无法正确停止重新尝试将数据导出到 AWS 云。

1.11.0  
新功能：  <a name="what-new-v1110"></a>
+ Greengrass 核心上的遥测代理收集本地遥测数据并将其发布到。 AWS 云要检索遥测数据以供进一步处理，客户可以创建 Amazon EventBridge 规则并订阅目标。有关更多信息，请参阅[从 AWS IoT Greengrass 核心设备收集系统运行状况遥测数据](https://docs.aws.amazon.com/greengrass/v1/developerguide/telemetry.html)。
+ 本地 HTTP API 会返回由启动的本地工作进程的当前状态快照 AWS IoT Greengrass。有关更多信息，请参阅[调用本地运行状况检查 API](https://docs.aws.amazon.com/greengrass/v1/developerguide/health-check.html)。
+ [流管理器](stream-manager.md)会自动将数据导出到 Amazon S3 和 AWS IoT SiteWise。

  借助新的[流管理器参数](configure-stream-manager.md)，您可以更新现有的流并暂停或恢复数据导出。
+ 支持在核心上运行 Python 3.8.x Lambda 函数。
+ [`config.json`](gg-core.md#config-json) 中包含一个新的 `ggDaemonPort` 属性，可用于配置 Greengrass 核心 IPC 端口号。默认端口号为 8000。

  [`config.json`](gg-core.md#config-json) 中包含一个新的 `systemComponentAuthTimeout` 属性，它可用于配置 Greengrass 核心 IPC 身份验证的超时时间。默认超时为 5000 毫秒。
+ 将每 AWS IoT Greengrass 组 AWS IoT 设备的最大数量从 200 增加到 2500。

  每个组的订阅数量上限从 1000 增加到了 10000。

  有关更多信息，请参阅 [AWS IoT Greengrass 端点和配额](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)。
错误修复和改进：  <a name="bug-fix-v1110"></a>
+ 进行了常规优化，可以降低 Greengrass 服务进程的内存利用率。
+ 新的运行时配置参数 (`mountAllBlockDevices`) 允许 Greengrass 在设置 OverlayFS 后使用绑定挂载将所有块设备挂载到容器中。此功能解决了 `/usr` 不在 `/` 层次结构下时导致 Greengrass 部署失败的问题。
+ 修复了如果`/tmp`是符号链接，则会导致 AWS IoT Greengrass 核心失败的问题。
+ 修复了一个问题，使 Greengrass 部署代理可从 `mlmodel_public` 文件夹中移除未使用的机器学习模型工件。
+ 常规性能改进和错误修复。

------
#### [ Extended life versions ]<a name="ggc-v1.10-tab"></a>

1.10.5  
错误修复和改进：  
+ 常规性能改进和错误修复。

1.10.4  
错误修复和改进：  
+ <a name="bug-fix-v1104-snap-power-loss"></a>修复了导致在 Ubuntu 设备上快速运行的 C AWS IoT Greengrass ore 软件在设备突然断电后停止响应的问题。
+ <a name="bug-fix-v1104-mqtt-long-lived-delay"></a>修复了一个问题，该问题导致向长时间生存的 Lambda 函数传送 MQTT 消息时出现延迟。
+ <a name="bug-fix-v1104-mqtt-max-work-item-count"></a>修复了一个问题，该问题导致 `maxWorkItemCount` 值设置为大于 `1024` 时无法正确发送 MQTT 消息。
+ <a name="bug-fix-v1104-ota-mqtt-keep-alive"></a>修复了一个问题，该问题导致 OTA 更新代理忽略 [`config.json`](gg-core.md#config-json) 的 `keepAlive` 属性中指定的 MQTT `KeepAlive` 周期。
+ 常规性能改进和错误修复。

1.10.3  
错误修复和改进：  
+ <a name="bug-fix-v1103-system-component-auth-timeout"></a>[`config.json`](gg-core.md#config-json) 中包含一个新的 `systemComponentAuthTimeout` 属性，它可用于配置 Greengrass 核心 IPC 身份验证的超时时间。默认超时为 5000 毫秒。
+ <a name="bug-fix-v1103-stream-manager-mem-usage"></a>修复了导致流管理器内存使用量增大的问题。

1.10.2  
错误修复和改进：  
+ <a name="bug-fix-v1102-mqtt-operation-timeout"></a>[config.json](gg-core.md#config-json) 中的一个新`mqttOperationTimeout`属性，用于在与之连接的 MQTT 中设置发布、订阅和取消订阅操作的超时时间。 AWS IoT Core
+ 常规性能改进和错误修复。

1.10.1  
错误修复和改进：  
+ <a name="bug-fix-v1101-stream-mgr"></a>[流管理器](stream-manager.md)能够更灵活地应对文件数据损坏。
+ <a name="bug-fix-v1101-sysfs"></a>修复了导致使用 Linux 内核 5.1 及更高版本的设备上系统安装失败的问题。
+ 常规性能改进和错误修复。

1.10.0  
新功能：  <a name="what-new-v1100"></a>
+ 用于本地处理数据流并自动将其导出到 AWS 云 的流管理器。此功能需要 Greengrass 核心设备上的 Java 8。有关更多信息，请参阅 [管理 AWS IoT Greengrass 核心上的数据流](stream-manager.md)。
+ 用于在核心设备上运行 Docker 应用程序的新 Greengrass Docker 应用程序部署连接器。有关更多信息，请参阅 [Docker 应用程序部署连接器](docker-app-connector.md)。
+ 一种新的物联网 SiteWise 连接器，可将工业设备数据从OPC-UA服务器发送到中的资产属性。 AWS IoT SiteWise有关更多信息，请参阅 [物联网 SiteWise 连接器](iot-sitewise-connector.md)。
+ 在未进行容器化的情况下运行的 Lambda 函数可以访问 Greengrass 组中的机器学习资源。有关更多信息，请参阅 [从 Lambda 函数访问机器学习资源](access-ml-resources.md)。
+ Support 支持 MQTT 持久会话。 AWS IoT有关更多信息，请参阅 [使用 MQTT 持续会话 AWS IoT Core](gg-core.md#mqtt-persistent-sessions)。
+ 本地 MQTT 流量可通过默认端口 8883 以外的端口传输。有关更多信息，请参阅 [为本地消息收发配置 MQTT 端口](gg-core.md#config-local-mqtt-port)。
+ [AWS IoT Greengrass Core 软件开发工具包](lambda-functions.md#lambda-sdks-core)中包含新的 `queueFullPolicy` 选项，可用于通过 Lambda 函数可靠地发布消息。
+ 支持在核心上运行 Node.js 12.x Lambda 函数。<a name="bug-fix-v1100"></a>
+ <a name="bug-fix-v1100-ota"></a>Over-the-air 可以使用 OpenSSL 1.1 配置具有硬件安全集成功能的 (OTA) 更新。
+ 常规性能改进和错误修复。

1.9.4  
错误修复和改进：  
+ 常规性能改进和错误修复。

1.9.3  
新功能：  
+ <a name="what-new-v193-armv6l"></a>支持 armv6L。 AWS IoT Greengrass 核心软件 v1.9.3 或更高版本可以安装在 armv6L 架构上的 Raspbian 发行版上（例如，在 Raspberry Pi Zero 设备上）。
+ <a name="what-new-v193-ota-alpn"></a>OTA 在端口 443 上使用 ALPN 进行更新。使用端口 443 进行 MQTT 流量的 Greengrass 内核现在支持 (OTA) 软件更新。 over-the-air AWS IoT Greengrass 使用应用层协议网络 (ALPN) TLS 扩展来启用这些连接。有关更多信息，请参阅[AWS IoT Greengrass 核心软件的 OTA 更新](core-ota-update.md)和[通过端口 443 或网络代理进行连接](gg-core.md#alpn-network-proxy)。
错误修复和改进：  
+ 修复了 v1.9.0 中引入的错误，该错误导致 Python 2.7 Lambda 函数无法将二进制负载发送到其他 Lambda 函数。
+ 常规性能改进和错误修复。

1.9.2  
新功能：  
+ <a name="what-new-v192-openwrt"></a>Support fo [OpenWrt](https://openwrt.org/)r. AWS IoT Greengrass 核心软件 v1.9.2 或更高版本可以安装在采用 Armv8 () AArch64 和 armv7L 架构的 OpenWrt 发行版上。目前， OpenWrt 不支持 ML 推理。

1.9.1  
错误修复和改进：  
+ 修复了 1.9.0 版本中从 `cloud` 删除主题含有通配符的消息时引入的错误。

1.9.0  
新功能：  
+ <a name="what-new-v190-runtimes"></a>支持 Python 3.7 和 Node.js 8.10 Lambda 运行时。使用 Python 3.7 和 Node.js 8.10 运行时的 Lambda 函数现在可以在内核上运行。 AWS IoT Greengrass （AWS IoT Greengrass 继续支持 Python 2.7 和 Node.js 6.10 运行时。）
+ <a name="what-new-v190-mqtt-opt"></a>优化了 MQTT 连接。Greengrass 核心与 AWS IoT Core建立的连接数较少。对于基于连接数的收费，此更改可以降低运营成本。
+ <a name="what-new-v190-ec-key"></a>适用于本地 MQTT 服务器的椭圆曲线 (EC) 密钥。除了 RSA 密钥之外，本地 MQTT 服务器还支持 EC 密钥。（无论密钥类型如何，MQTT 服务器证书都具有 SHA-256 RSA 签名。） 有关更多信息，请参阅 [AWS IoT Greengrass 核心安全主体](gg-sec.md#gg-principals)。
错误修复和改进：  
+ 常规性能改进和错误修复。

1.8.4  
修复了影子同步和设备证书管理器重新连接的问题。  
常规性能改进和错误修复。

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

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

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

1.8.0  
新功能：  
+ 组中 Lambda 函数的可配置默认访问身份。这一组级别设置确定用于运行 Lambda 函数的默认权限。您可以设置用户 ID 和/或组 ID。各个 Lambda 函数可以覆盖其组的默认访问身份。有关更多信息，请参阅 [为组中的 Lambda 函数设置默认访问身份](lambda-group-config.md#lambda-access-identity-groupsettings)。
+ 通过端口 443 的 HTTPS 流量。HTTPS 通信可以配置为通过端口 443（而不是默认端口 8443）进行传输。这补充了对应用层协议网络 (ALPN) TLS 扩展的 AWS IoT Greengrass 支持，并允许所有 Greengrass 消息流量（包括 MQTT 和 HTTPS）使用端口 443。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](gg-core.md#alpn-network-proxy)。
+ 可以预见地命名为 IDs 用于 AWS IoT 连接的客户端。此更改将启用对于 AWS IoT Device Defender 和 [AWS IoT 生命周期事件](https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html)的支持，因此，您可以针对连接、断开连接、订阅以及取消订阅事件接收通知。可预测的命名还可以更轻松地围绕连接创建逻辑 IDs （例如，根据证书属性创建[订阅策略](https://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html#pub-sub-policy-cert)模板）。有关更多信息，请参阅 [IDs 用于 MQTT 连接的客户端 AWS IoT](gg-core.md#connection-client-id)。
错误修复和改进：  
+ 修复了影子同步和设备证书管理器重新连接的问题。
+ 常规性能改进和错误修复。

1.7.1  
新功能：  
+ Greengrass 连接器提供与本地基础设施、设备协议 AWS和其他云服务的内置集成。有关更多信息，请参阅 [使用 Greengrass 连接器与服务和协议集成](connectors.md)。
+ AWS IoT Greengrass 扩展 AWS Secrets Manager 到核心设备，这使连接器和 Lambda 函数可以使用您的密码、令牌和其他机密。传输和静态中的密钥均经过加密。有关更多信息，请参阅 [将机密部署到核 AWS IoT Greengrass 心](secrets.md)。
+ 支持可信硬件根安全选项。有关更多信息，请参阅 [硬件安全性集成](hardware-security.md)。
+ 隔离和权限设置，允许 Lambda 函数在无 Greengrass 容器的情况下运行，并允许使用指定用户和组的权限。有关更多信息，请参阅 [使用组特定的配置控制 Greengrass Lambda 函数的执行](lambda-group-config.md)。
+ 你可以在 Docker 容器（ AWS IoT Greengrass 在 Windows、macOS 或 Linux 上）中运行，方法是将 Greengrass 组配置为在不进行容器化的情况下运行。有关更多信息，请参阅 [AWS IoT Greengrass 在 Docker 容器中运行](run-gg-in-docker-container.md)。
+ 端口 443 上使用应用程序层协议协商 (ALPN) 或网络代理连接的 MQTT 消息传递。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](gg-core.md#alpn-network-proxy)。
+  SageMaker AI Neo 深度学习运行时，它支持由 SageMaker AI Neo 深度学习编译器优化的机器学习模型。有关 Neo 深度学习运行时的信息，请参阅[用于 ML 推理的运行时和库](ml-inference.md#ml-libraries)。
+ 支持在 Raspberry Pi 核心设备上使用 Raspbian Stretch (2018-06-27)。
错误修复和改进：  
+ 常规性能改进和错误修复。
此外，此版本还提供以下功能：  
+ 的 AWS IoT 设备测试器 AWS IoT Greengrass，你可以用它来验证你的 CPU 架构、内核配置和驱动程序是否能正常工作 AWS IoT Greengrass。有关更多信息，请参阅 [使用适用于 AWS IoT Greengrass V1 的 AWS IoT 设备测试器](device-tester-for-greengrass-ug.md)。
+  AWS IoT Greengrass 核心软件、Cor AWS IoT Greengrass e SDK 和 Mach AWS IoT Greengrass ine Learning SDK 包可通过亚马逊下载 CloudFront。有关更多信息，请参阅 [AWS IoT Greengrass 下载](#gg-downloads)。

1.6.1  
新功能：  
+ 在 Greengrass 核心上运行二进制代码的 Lambda 可执行文件。使用适用于 C 的全新 C AWS IoT Greengrass ore SDK 使用 C 和 C\$1\$1 编写 Lambda 可执行文件。有关更多信息，请参阅 [Lambda 可执行文件](lambda-functions.md#lambda-executables)。
+ 可选的本地存储消息缓存，可以在重新启动时永久保存这些消息。您可以为排队处理的 MQTT 消息配置存储设置。有关更多信息，请参阅 [云目标的 MQTT 消息队列](gg-core.md#mqtt-message-queue)。
+ 在核心设备断开时的可配置最大重新连接重试间隔。有关更多信息，请参阅[AWS IoT Greengrass 核心配置文件](gg-core.md#config-json)中的 `mqttMaxConnectionRetryInterval` 属性。
+ 主机上 /proc 目录的本地资源访问权限。有关更多信息，请参阅 [使用 Lambda 函数和连接器访问本地资源](access-local-resources.md)。
+ 可配置的写入目录。C AWS IoT Greengrass ore 软件可以部署到只读和读写位置。有关更多信息，请参阅 [为配置写入目录 AWS IoT Greengrass](gg-core.md#write-directory)。
错误修复和改进：  
+ 提高了在 Greengrass 核心中以及设备和核心之间发布消息的性能。
+ 减少了处理用户定义 Lambda 函数生成的日志所需的计算资源。

1.5.0  
新功能：  
+ AWS IoT Greengrass Machine Learning (ML) 推理现已正式推出。您可以在 AWS IoT Greengrass 设备上使用在云中构建和训练的模型执行本地 ML 推理。有关更多信息，请参阅 [执行机器学习推理](ml-inference.md)。
+ 除了 JSON 以外，Greengrass Lambda 函数现在还支持将二进制数据作为输入负载。要使用此功能，您必须升级到 AWS IoT Greengrass 酷睿 SDK 版本 1.1.0，您可以从[AWS IoT Greengrass 酷睿 SDK](#gg-core-sdk-download) 下载页面下载该版本。
错误修复和改进：  
+ 降低了整体内存占用空间。
+ 将消息发送到云的性能改进。
+ 对下载代理、Device Certificate Manager 和 OTA 更新代理的性能和稳定性改进。
+ 次要错误修复。

1.3.0  
新功能：  
+ Over-the-air (OTA) 更新代理能够处理云端部署的 Greengrass 更新任务。该代理是在新 `/greengrass/ota` 目录下找到的。有关更多信息，请参阅 [AWS IoT Greengrass 核心软件的 OTA 更新](core-ota-update.md)。
+ 本地资源访问功能允许 Greengrass Lambda 函数访问本地资源，如外围设备和卷。有关更多信息，请参阅 [使用 Lambda 函数和连接器访问本地资源](access-local-resources.md)。

1.1.0  
新功能：  
+ 可以通过删除 Lambda 函数、订阅和配置来重置已部署的 AWS IoT Greengrass 群组。有关更多信息，请参阅 [重置部署](reset-deployments-scenario.md)。
+ 除 Python 2.7 以外，还支持 Node.js 6.10 和 Java 8 Lambda 运行时。
要从先前版本的 AWS IoT Greengrass 核心迁移，请执行以下操作：  
+ 将证书从 `/greengrass/configuration/certs` 文件夹复制到 `/greengrass/certs`。
+ 将 `/greengrass/configuration/config.json` 复制到 `/greengrass/config/config.json`。
+ 运行 `/greengrass/ggc/core/greengrassd` 而非 `/greengrass/greengrassd`。
+ 将组部署到新的核心。

1.0.0  
初始版本

------

## AWS IoT Greengrass 群组
<a name="gg-group"></a>

Greengrass 组是一系列设置和组件，例如 Greengrass 核心、设备和订阅。组用于定义交互范围。例如，一个组可能表示建筑物的一层、一辆卡车或整个采矿场所。下图显示了可以构成 Greengrass 组的组件。

![\[AWS IoT Core、Greengrass 和 Lambda 组件，以及互连的核心、设置、Lambda 函数、订阅、连接器、设备和资源元素。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/gg-group.png)


在上图中：

A：Greengrass 组定义  
有关组设置和组件的信息。

B：Greengrass 组设置  
这些方法包括：  
+ Greengrass 组角色。
+ 证书颁发机构和本地连接配置
+ Greengrass 核心连接信息。
+ 默认 Lambda 运行时环境。有关更多信息，请参阅 [在组中设置 Lambda 函数的默认容器化](lambda-group-config.md#lambda-containerization-groupsettings)。
+ CloudWatch 和本地日志配置。有关更多信息，请参阅 [使用 AWS IoT Greengrass 日志进行监控](greengrass-logs-overview.md)。

C：Greengrass 核心  
代表 Greengrass 核心的 AWS IoT 东西（设备）。有关更多信息，请参阅 [配置内 AWS IoT Greengrass 核](gg-core.md)。

D：Lambda 函数定义  
核心上本地运行的 Lambda 函数的列表，包含关联的配置数据。有关更多信息，请参阅 [在核心上运行 Lambda 函数 AWS IoT Greengrass](lambda-functions.md)。

E：订阅定义  
允许使用 MQTT 消息进行通信的订阅列表。订阅定义了：  
+ 消息源和消息目标。它们可以是客户端设备、Lambda 函数 AWS IoT Core、连接器和本地影子服务。
+ 用于筛选消息的主题。
有关更多信息，请参阅 [MQTT 消息传递工作流中的托管订阅](gg-sec.md#gg-msg-workflow)。

F：连接器定义  
核心上本地运行的连接器的列表，包含关联的配置数据。有关更多信息，请参阅 [使用 Greengrass 连接器与服务和协议集成](connectors.md)。

G：设备定义  
属于 Greengrass 组 AWS IoT 的事物（称为客户端设备或设备）的列表，以及相关的配置数据。有关更多信息，请参阅 [中的设备 AWS IoT Greengrass](#devices)。

H：资源定义  
Greengrass 核心上的本地资源、机器学习资源和密钥资源的列表，包含关联的配置数据。有关更多信息，请参阅 [使用 Lambda 函数和连接器访问本地资源](access-local-resources.md)、[执行机器学习推理](ml-inference.md) 和 [将机密部署到核 AWS IoT Greengrass 心](secrets.md)。

在部署后，Greengrass 组定义、Lambda 函数、连接器、资源和订阅表将复制到核心设备中。有关更多信息，请参阅 [将 AWS IoT Greengrass 群组部署到 AWS IoT Greengrass 核心](deployments.md)。

## 中的设备 AWS IoT Greengrass
<a name="devices"></a>

Greengrass 群组可以包含两种类型的设备： AWS IoT 

Greengrass 核心  
Greengrass 内核是一种运行核心软件 AWS IoT Greengrass 的设备，它允许它与服务直接通信。 AWS IoT Core AWS IoT Greengrass 内核有自己的设备证书，用于进行 AWS IoT Core身份验证。它有一个设备影子和 AWS IoT Core 注册表中的一个条目。Greengrass 内核运行本地 Lambda 运行时、部署代理和 IP 地址跟踪器，用于 AWS IoT Greengrass 向服务发送 IP 地址信息，从而允许客户端设备自动发现其组和核心连接信息。有关更多信息，请参阅 [配置内 AWS IoT Greengrass 核](gg-core.md)。  
一个 Greengrass 组必须恰好包含一个核心。

客户端设备  <a name="greengrass-devices"></a>
客户端设备（也称为*联网设备*、*Greengrass* 设备或*设备*）是通过 MQTT 连接到 Greengrass 核心的设备。他们有自己的用于 AWS IoT Core 身份验证的设备证书、设备影子和 AWS IoT Core 注册表中的条目。<a name="gg-device-discovery"></a>客户端进设备可以运行 [FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-lib-gg-connectivity.html) 或使用 [AWS IoT 设备开发工具包](#iot-device-sdk)或 [AWS IoT Greengrass 发现 API](gg-discover-api.md)，以获取用于连接和验证同一 Greengrass 组中核心的发现信息。要了解如何使用 AWS IoT 控制台为其创建和配置客户端设备 AWS IoT Greengrass，请参阅[模块 4：与 AWS IoT Greengrass 群组中的客户端设备交互](module4.md)。或者，有关说明如何使用为其创建和配置客户端设备的示例 AWS IoT Greengrass，请参阅《*AWS CLI 命令参考*》[create-device-definition](https://docs.aws.amazon.com/cli/latest/reference/greengrass/create-device-definition.html)中的。 AWS CLI   
在 Greengrass 群组中，您可以创建订阅，允许客户端设备通过 MQTT 与群组中的 Lambda 函数、连接器和其他客户端设备以及或本地影子服务进行通信。 AWS IoT Core MQTT 消息传递到核心。如果核心设备丢失与云的连接，客户端设备可通过本地网络继续进行通信。客户端设备大小不一，既有基于微控制器的小型设备，也有大型设备。目前，一个 Greengrass 组最多可包含 2,500 个客户端设备。一个客户端设备最多可以是 10 个组的成员。  
<a name="sitewise-connector-opcua-support"></a>OPC-UA 是一种用于工业通信的信息交换标准。[要在 Greengrass 内核上实现对 OPC-UA 的支持，你可以使用物联网连接器。 SiteWise ](iot-sitewise-connector.md)该连接器将工业设备数据从 OPC-UA 服务器发送到中的资产属性。 AWS IoT SiteWise

下表显示了这些设备类型的相关性。

![\[AWS IoT Core 和设备功能矩阵显示了证书、物联网策略、核心和设备端支持的物联网事物等配置，并标记了 Greengrass Group 权限之外的设备网关、 Sensor/Actuator 软件和功能。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/devices.png)


 AWS IoT Greengrass 核心设备将证书存储在两个位置：<a name="ggc-certificate-locations"></a>
+ `/greengrass-root/certs` 中的核心设备证书。通常，核心设备证书命名为 `hash.cert.pem`（例如，`86c84488a5.cert.pem`）。当核心连接到 AWS IoT Core 和 AWS IoT Greengrass 服务时， AWS IoT 客户端使用此证书进行相互身份验证。
+ `/greengrass-root/ggc/var/state/server` 中的 MQTT 服务器证书。MQTT 服务器证书名为 `server.crt`。此证书用于本地 MQTT 服务器（在 Greengrass 核心上）和 Greengrass 设备之间的相互身份验证。
**注意**  
*greengrass-root*表示 C AWS IoT Greengrass ore 软件在您的设备上的安装路径。通常，这是 `/greengrass` 目录。

## SDKs
<a name="gg-sdks"></a>

以下 AWS提供的内容 SDKs 用于使用 AWS IoT Greengrass：

AWS SDK  
使用 AWS 软件开发工具包构建可与任何 AWS 服务交互的应用程序，包括 Amazon S3、Amazon DynamoDB AWS IoT、 AWS IoT Greengrass、等。在的背景下 AWS IoT Greengrass，您可以在部署的 Lambda 函数中使用 AWS 软件开发工具包直接调用任何 AWS 服务。有关更多信息，请参阅 [AWS SDKs](lambda-functions.md#lambda-sdks-aws)。  
[中提供的特定于 Greengrass 的操作也可在 API AWS SDKs 和中找到。AWS IoT Greengrass[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/greengrass)](https://docs.aws.amazon.com/greengrass/v1/apireference/)

AWS IoT 设备软件开发工具包  <a name="iot-device-sdk"></a>
 AWS IoT 设备 SDK 可帮助设备连接到 AWS IoT Core 和 AWS IoT Greengrass。有关更多信息，请参阅《*AWS IoT 开发者指南*》 SDKs中的[AWS IoT 设备](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html)。  
<a name="iot-device-sdk-discovery"></a>客户端设备可以使用任何 AWS IoT 设备 SDK v2 平台来发现 Greengrass 内核的连接信息。连接信息包括：  <a name="iot-device-sdk-discovery-list"></a>
+ 客户端设备 IDs 所属的 Greengrass 群组中的一个。
+ 每个组中 Greengrass 核心的 IP 地址。这些也称为*核心端点*。
+ 组 CA 证书，设备使用该证书与核心进行双向身份验证。有关更多信息，请参阅 [设备连接工作流程](gg-sec.md#gg-sec-connection)。
在 AWS IoT 设备的 v1 中 SDKs，只有 C\$1\$1 和 Python 平台提供内置的发现支持。

AWS IoT Greengrass 核心软件开发工具包  
 AWS IoT Greengrass 核心软件开发工具包使 Lambda 函数能够与 Greengrass 核心交互、向本地影子服务发布消息、与本地影子服务交互 AWS IoT、调用其他已部署的 Lambda 函数以及访问机密资源。此软件开发工具包由 AWS IoT Greengrass 核心上运行的 Lambda 函数使用。有关更多信息，请参阅 [AWS IoT Greengrass 核心软件开发工具包](lambda-functions.md#lambda-sdks-core)。

AWS IoT Greengrass Machine Learning  
Mach AWS IoT Greengrass ine Learning SDK 使 Lambda 函数能够使用作为机器学习资源部署到 Greengrass 核心的机器学习模型。在 AWS IoT Greengrass 核心上运行并与本地推理服务交互的 Lambda 函数使用此软件开发工具包。有关更多信息，请参阅 [AWS IoT Greengrass Machine Learning](lambda-functions.md#lambda-sdks-ml)。

## 支持的平台和要求
<a name="gg-platforms"></a>

以下选项卡列出了 AWS IoT Greengrass Core 软件支持的平台和要求。

**注意**  
您可以从 AWS IoT Greengrass 核心软件下载中下载[AWS IoT Greengrass 核心软件](#gg-core-download-tab)。

------
#### [ GGC v1.11 ]

支持的平台:
+ <a name="arch_armv7l_193"></a>架构：Armv7l
  + 操作系统：Linux
  + 操作系统：Linux ([OpenWrt](https://openwrt.org/))
+ <a name="arch_armv8-aarch64_190"></a>架构：Armv8 () AArch64
  + 操作系统：Linux
  + 操作系统：Linux ([OpenWrt](https://openwrt.org/))
+ <a name="arch_armv6l_193"></a>架构：Armv6l
  + 操作系统：Linux
+ <a name="arch_x86-64_amazonlinux_190"></a>架构：x86\$164
  + 操作系统：Linux
+ <a name="arch_docker_180"></a>Windows、macOS 和 Linux 平台可以在 Docker AWS IoT Greengrass 容器中运行。有关更多信息，请参阅 [AWS IoT Greengrass 在 Docker 容器中运行](run-gg-in-docker-container.md)。

要求：
+ <a name="mem_128_disk_space_180"></a>至少 128 MB 磁盘空间可供 AWS IoT Greengrass 酷睿软件使用。如果您要使用 [OTA 更新代理](core-ota-update.md)，则最小值为 <a name="req-core-ota-disk-space"></a>400 MB。
+ <a name="mem_128_ram_1100"></a>分配给 AWS IoT Greengrass 核心软件的最低 128 MB 内存。启用[流管理器](stream-manager.md)后，最小 RAM 为 198 MB。
**注意**  
如果您使用 AWS IoT 控制台上的 “**默认群组创建” 选项来创建 Greengrass 群组**，则默认情况下会启用直播管理器。
+ Linux 内核版本：
  + <a name="kernel_4.4_180"></a>需要使用 Linux 内核版本 4.4 或更高版本才能支持 AWS IoT Greengrass 使用[容器](lambda-group-config.md#lambda-containerization-considerations)运行。
  + <a name="kernel_3.17_180"></a>需要使用 Linux 内核版本 3.17 或更高版本才能支持 AWS IoT Greengrass 无容器运行。在此配置中，Greengrass 组的默认 Lambda 函数容器化必须设置为**无容器**。有关说明，请参阅[在组中设置 Lambda 函数的默认容器化](lambda-group-config.md#lambda-containerization-groupsettings)。
+ <a name="glibc_190"></a>[GNU C 库](https://www.gnu.org/software/libc/) (glibc) 版本 2.14 或更高版本。 OpenWrt 发行版需要 [musl C 库](https://www.musl-libc.org/download.html)版本 1.1.16 或更高版本。
+ <a name="var_run_180"></a>设备上必须存在 `/var/run` 目录。
+ <a name="dev_dir_180"></a>`/dev/stdin`、`/dev/stdout` 和 `/dev/stderr` 文件必须是可用的。
+ <a name="hardlink_softlink_180"></a>必须在设备上启用硬链接和软链接保护。否则， AWS IoT Greengrass 只能使用`-i`标志在不安全模式下运行。
+ <a name="kernel_config_180"></a>必须在设备上启用以下 Linux 内核配置：
  + <a name="kernel_namespace_180"></a>命名空间：
    + CONFIG\$1IPC\$1NS
    + CONFIG\$1UTS\$1NS
    + CONFIG\$1USER\$1NS
    + CONFIG\$1PID\$1NS
  + <a name="kernel_cgroups_180"></a>Cgroups：
    + CONFIG\$1CGROUP\$1DEVICE
    + CONFIG\$1CGROUPS
    + CONFIG\$1MEMCG

    内核必须支持 [cgroups](https://en.wikipedia.org/wiki/Cgroups)。使用[容器](lambda-group-config.md#lambda-containerization-groupsettings)运行 AWS IoT Greengrass 时，需要满足以下要求：
    + 必须已启用并挂载 *memory* cgroup 以允许 AWS IoT Greengrass 设置 Lambda 函数的内存限制。
    + 如果使用[具有本地资源](access-local-resources.md)访问权限的 Lambda 函数打开核心*设备上的 AWS IoT Greengrass 文件，则必须启用并安装设备* cgroup。
  + <a name="kernel_others_180"></a>其他：
    + CONFIG\$1POSIX\$1MQUEUE
    + CONFIG\$1OVERLAY\$1FS
    + CONFIG\$1HAVE\$1ARCH\$1SECCOMP\$1FILTER
    + CONFIG\$1SECCOMP\$1FILTER
    + CONFIG\$1KEYS
    + CONFIG\$1SECCOMP
    + CONFIG\$1SHMEM
+ <a name="s3_iot_root_cert_180"></a>Amazon S3 的根证书 AWS IoT 必须存在于系统信任存储中。
+ <a name="stream-manager-requirement"></a>除了基本的 AWS IoT Greengrass 核心软件内存要求外，[流管理器](stream-manager.md)还需要 Java 8 运行时和至少 70 MB 的 RAM。当您在 AWS IoT 控制台上使用默认**群组创建选项时，直播管理器默认处于**启用状态。 OpenWrt 发行版不支持直播管理器。
+ 为您想要在本地运行的 Lambda 函数所需的 [AWS Lambda 运行时](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)提供支持的库。所需的库必须安装在核心上并添加到 `PATH` 环境变量中。在同一核心上可以安装多个库。
  + <a name="runtime_python_3.8"></a>适用于使用 Python 3.8 运行时的函数的 [Python](https://www.python.org/) 版本 3.8。
  + <a name="runtime_python_3.7"></a>适用于使用 Python 3.7 运行时的函数的 [Python](https://www.python.org/) 版本 3.7。
  + <a name="runtime_python_2.7"></a>适用于使用 Python 2.7 运行时的函数的 [Python](https://www.python.org/) 版本 2.7。
  + <a name="runtime_nodejs_12.x"></a>适用于使用 Node.js 12.x 运行时的函数的 [Node.js](https://www.nodejs.org/) 版本 12.x。
  + <a name="runtime_java_8_190"></a>适用于使用 Java 8 运行时的函数的 [Java](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) 版本 8 或更高版本。
**注意**  
官方不支持在 OpenWrt 发行版上运行 Java。但是，如果您的 OpenWrt 版本支持 Java，则可以在您的设备上运行用 Java 编写的 Lambda 函数。 OpenWrt 

    有关 AWS IoT Greengrass 支持 Lambda 运行时的更多信息，请参阅。[在核心上运行 Lambda 函数 AWS IoT Greengrass](lambda-functions.md)
+ <a name="ota_agent_1110"></a>([OTA) 更新代理需要以下 shell 命令over-the-air （不是 BusyBox 变体）](core-ota-update.md#ota-agent)：
  + `wget`
  + `realpath`
  + `tar`
  + `readlink`
  + `basename`
  + `dirname`
  + `pidof`
  + `df`
  + `grep`
  + `umount`
  + `mv`
  + `gzip`
  + `mkdir`
  + `rm`
  + `ln`
  + `cut`
  + `cat`
  + `/bin/bash`

------
#### [ GGC v1.10 ]

支持的平台:
+ <a name="arch_armv7l_193"></a>架构：Armv7l
  + 操作系统：Linux
  + 操作系统：Linux ([OpenWrt](https://openwrt.org/))
+ <a name="arch_armv8-aarch64_190"></a>架构：Armv8 () AArch64
  + 操作系统：Linux
  + 操作系统：Linux ([OpenWrt](https://openwrt.org/))
+ <a name="arch_armv6l_193"></a>架构：Armv6l
  + 操作系统：Linux
+ <a name="arch_x86-64_amazonlinux_190"></a>架构：x86\$164
  + 操作系统：Linux
+ <a name="arch_docker_180"></a>Windows、macOS 和 Linux 平台可以在 Docker AWS IoT Greengrass 容器中运行。有关更多信息，请参阅 [AWS IoT Greengrass 在 Docker 容器中运行](run-gg-in-docker-container.md)。

要求：
+ <a name="mem_128_disk_space_180"></a>至少 128 MB 磁盘空间可供 AWS IoT Greengrass 酷睿软件使用。如果您要使用 [OTA 更新代理](core-ota-update.md)，则最小值为 <a name="req-core-ota-disk-space"></a>400 MB。
+ <a name="mem_128_ram_1100"></a>分配给 AWS IoT Greengrass 核心软件的最低 128 MB 内存。启用[流管理器](stream-manager.md)后，最小 RAM 为 198 MB。
**注意**  
如果您使用 AWS IoT 控制台上的 “**默认群组创建” 选项来创建 Greengrass 群组**，则默认情况下会启用直播管理器。
+ Linux 内核版本：
  + <a name="kernel_4.4_180"></a>需要使用 Linux 内核版本 4.4 或更高版本才能支持 AWS IoT Greengrass 使用[容器](lambda-group-config.md#lambda-containerization-considerations)运行。
  + <a name="kernel_3.17_180"></a>需要使用 Linux 内核版本 3.17 或更高版本才能支持 AWS IoT Greengrass 无容器运行。在此配置中，Greengrass 组的默认 Lambda 函数容器化必须设置为**无容器**。有关说明，请参阅[在组中设置 Lambda 函数的默认容器化](lambda-group-config.md#lambda-containerization-groupsettings)。
+ <a name="glibc_190"></a>[GNU C 库](https://www.gnu.org/software/libc/) (glibc) 版本 2.14 或更高版本。 OpenWrt 发行版需要 [musl C 库](https://www.musl-libc.org/download.html)版本 1.1.16 或更高版本。
+ <a name="var_run_180"></a>设备上必须存在 `/var/run` 目录。
+ <a name="dev_dir_180"></a>`/dev/stdin`、`/dev/stdout` 和 `/dev/stderr` 文件必须是可用的。
+ <a name="hardlink_softlink_180"></a>必须在设备上启用硬链接和软链接保护。否则， AWS IoT Greengrass 只能使用`-i`标志在不安全模式下运行。
+ <a name="kernel_config_180"></a>必须在设备上启用以下 Linux 内核配置：
  + <a name="kernel_namespace_180"></a>命名空间：
    + CONFIG\$1IPC\$1NS
    + CONFIG\$1UTS\$1NS
    + CONFIG\$1USER\$1NS
    + CONFIG\$1PID\$1NS
  + <a name="kernel_cgroups_180"></a>Cgroups：
    + CONFIG\$1CGROUP\$1DEVICE
    + CONFIG\$1CGROUPS
    + CONFIG\$1MEMCG

    内核必须支持 [cgroups](https://en.wikipedia.org/wiki/Cgroups)。使用[容器](lambda-group-config.md#lambda-containerization-groupsettings)运行 AWS IoT Greengrass 时，需要满足以下要求：
    + 必须已启用并挂载 *memory* cgroup 以允许 AWS IoT Greengrass 设置 Lambda 函数的内存限制。
    + 如果使用[具有本地资源](access-local-resources.md)访问权限的 Lambda 函数打开核心*设备上的 AWS IoT Greengrass 文件，则必须启用并安装设备* cgroup。
  + <a name="kernel_others_180"></a>其他：
    + CONFIG\$1POSIX\$1MQUEUE
    + CONFIG\$1OVERLAY\$1FS
    + CONFIG\$1HAVE\$1ARCH\$1SECCOMP\$1FILTER
    + CONFIG\$1SECCOMP\$1FILTER
    + CONFIG\$1KEYS
    + CONFIG\$1SECCOMP
    + CONFIG\$1SHMEM
+ <a name="s3_iot_root_cert_180"></a>Amazon S3 的根证书 AWS IoT 必须存在于系统信任存储中。
+ <a name="stream-manager-requirement"></a>除了基本的 AWS IoT Greengrass 核心软件内存要求外，[流管理器](stream-manager.md)还需要 Java 8 运行时和至少 70 MB 的 RAM。当您在 AWS IoT 控制台上使用默认**群组创建选项时，直播管理器默认处于**启用状态。 OpenWrt 发行版不支持直播管理器。
+ 为您想要在本地运行的 Lambda 函数所需的 [AWS Lambda 运行时](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)提供支持的库。所需的库必须安装在核心上并添加到 `PATH` 环境变量中。在同一核心上可以安装多个库。
  + <a name="runtime_python_3.7"></a>适用于使用 Python 3.7 运行时的函数的 [Python](https://www.python.org/) 版本 3.7。
  + <a name="runtime_python_2.7"></a>适用于使用 Python 2.7 运行时的函数的 [Python](https://www.python.org/) 版本 2.7。
  + <a name="runtime_nodejs_12.x"></a>适用于使用 Node.js 12.x 运行时的函数的 [Node.js](https://www.nodejs.org/) 版本 12.x。
  + <a name="runtime_java_8_190"></a>适用于使用 Java 8 运行时的函数的 [Java](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) 版本 8 或更高版本。
**注意**  
官方不支持在 OpenWrt 发行版上运行 Java。但是，如果您的 OpenWrt 版本支持 Java，则可以在您的设备上运行用 Java 编写的 Lambda 函数。 OpenWrt 

    有关 AWS IoT Greengrass 支持 Lambda 运行时的更多信息，请参阅。[在核心上运行 Lambda 函数 AWS IoT Greengrass](lambda-functions.md)
+ <a name="ota_agent_1100"></a>([OTA) 更新代理需要以下 shell 命令over-the-air （不是 BusyBox 变体）](core-ota-update.md#ota-agent)：
  + `wget`
  + `realpath`
  + `tar`
  + `readlink`
  + `basename`
  + `dirname`
  + `pidof`
  + `df`
  + `grep`
  + `umount`
  + `mv`
  + `gzip`
  + `mkdir`
  + `rm`
  + `ln`
  + `cut`
  + `cat`
  + `/bin/bash`

------
#### [ GGC v1.9 ]

支持的平台:
+ <a name="arch_armv7l_193"></a>架构：Armv7l
  + 操作系统：Linux
  + 操作系统：Linux ([OpenWrt](https://openwrt.org/))
+ <a name="arch_armv8-aarch64_190"></a>架构：Armv8 () AArch64
  + 操作系统：Linux
  + 操作系统：Linux ([OpenWrt](https://openwrt.org/))
+ <a name="arch_armv6l_193"></a>架构：Armv6l
  + 操作系统：Linux
+ <a name="arch_x86-64_amazonlinux_190"></a>架构：x86\$164
  + 操作系统：Linux
+ <a name="arch_docker_180"></a>Windows、macOS 和 Linux 平台可以在 Docker AWS IoT Greengrass 容器中运行。有关更多信息，请参阅 [AWS IoT Greengrass 在 Docker 容器中运行](run-gg-in-docker-container.md)。

要求：
+ <a name="mem_128_disk_space_180"></a>至少 128 MB 磁盘空间可供 AWS IoT Greengrass 酷睿软件使用。如果您要使用 [OTA 更新代理](core-ota-update.md)，则最小值为 <a name="req-core-ota-disk-space"></a>400 MB。
+ <a name="mem_128_ram_180"></a>分配给 AWS IoT Greengrass 核心软件的最低 128 MB 内存。
+ Linux 内核版本：
  + <a name="kernel_4.4_180"></a>需要使用 Linux 内核版本 4.4 或更高版本才能支持 AWS IoT Greengrass 使用[容器](lambda-group-config.md#lambda-containerization-considerations)运行。
  + <a name="kernel_3.17_180"></a>需要使用 Linux 内核版本 3.17 或更高版本才能支持 AWS IoT Greengrass 无容器运行。在此配置中，Greengrass 组的默认 Lambda 函数容器化必须设置为**无容器**。有关说明，请参阅[在组中设置 Lambda 函数的默认容器化](lambda-group-config.md#lambda-containerization-groupsettings)。
+ <a name="glibc_190"></a>[GNU C 库](https://www.gnu.org/software/libc/) (glibc) 版本 2.14 或更高版本。 OpenWrt 发行版需要 [musl C 库](https://www.musl-libc.org/download.html)版本 1.1.16 或更高版本。
+ <a name="var_run_180"></a>设备上必须存在 `/var/run` 目录。
+ <a name="dev_dir_180"></a>`/dev/stdin`、`/dev/stdout` 和 `/dev/stderr` 文件必须是可用的。
+ <a name="hardlink_softlink_180"></a>必须在设备上启用硬链接和软链接保护。否则， AWS IoT Greengrass 只能使用`-i`标志在不安全模式下运行。
+ <a name="kernel_config_180"></a>必须在设备上启用以下 Linux 内核配置：
  + <a name="kernel_namespace_180"></a>命名空间：
    + CONFIG\$1IPC\$1NS
    + CONFIG\$1UTS\$1NS
    + CONFIG\$1USER\$1NS
    + CONFIG\$1PID\$1NS
  + <a name="kernel_cgroups_180"></a>Cgroups：
    + CONFIG\$1CGROUP\$1DEVICE
    + CONFIG\$1CGROUPS
    + CONFIG\$1MEMCG

    内核必须支持 [cgroups](https://en.wikipedia.org/wiki/Cgroups)。使用[容器](lambda-group-config.md#lambda-containerization-groupsettings)运行 AWS IoT Greengrass 时，需要满足以下要求：
    + 必须已启用并挂载 *memory* cgroup 以允许 AWS IoT Greengrass 设置 Lambda 函数的内存限制。
    + 如果使用[具有本地资源](access-local-resources.md)访问权限的 Lambda 函数打开核心*设备上的 AWS IoT Greengrass 文件，则必须启用并安装设备* cgroup。
  + <a name="kernel_others_180"></a>其他：
    + CONFIG\$1POSIX\$1MQUEUE
    + CONFIG\$1OVERLAY\$1FS
    + CONFIG\$1HAVE\$1ARCH\$1SECCOMP\$1FILTER
    + CONFIG\$1SECCOMP\$1FILTER
    + CONFIG\$1KEYS
    + CONFIG\$1SECCOMP
    + CONFIG\$1SHMEM
+ <a name="s3_iot_root_cert_180"></a>Amazon S3 的根证书 AWS IoT 必须存在于系统信任存储中。
+ 为您想要在本地运行的 Lambda 函数所需的 [AWS Lambda 运行时](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)提供支持的库。所需的库必须安装在核心上并添加到 `PATH` 环境变量中。在同一核心上可以安装多个库。
  + <a name="runtime_python_2.7"></a>适用于使用 Python 2.7 运行时的函数的 [Python](https://www.python.org/) 版本 2.7。
  + <a name="runtime_python_3.7"></a>适用于使用 Python 3.7 运行时的函数的 [Python](https://www.python.org/) 版本 3.7。
  + <a name="runtime_nodejs_6.10"></a>适用于使用 Node.js 6.10 运行时的函数的 [Node.js](https://www.nodejs.org/) 版本 6.10 或更高版本。
  + <a name="runtime_nodejs_8.10"></a>适用于使用 Node.js 8.10 运行时的函数的 [Node.js](https://www.nodejs.org/) 版本 8.10 或更高版本。
  + <a name="runtime_java_8_190"></a>适用于使用 Java 8 运行时的函数的 [Java](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) 版本 8 或更高版本。
**注意**  
官方不支持在 OpenWrt 发行版上运行 Java。但是，如果您的 OpenWrt 版本支持 Java，则可以在您的设备上运行用 Java 编写的 Lambda 函数。 OpenWrt 

    有关 AWS IoT Greengrass 支持 Lambda 运行时的更多信息，请参阅。[在核心上运行 Lambda 函数 AWS IoT Greengrass](lambda-functions.md)
+ <a name="ota_agent_180"></a>([OTA) 更新代理需要以下 shell 命令over-the-air （不是 BusyBox 变体）](core-ota-update.md#ota-agent)：
  + `wget`
  + `realpath`
  + `tar`
  + `readlink`
  + `basename`
  + `dirname`
  + `pidof`
  + `df`
  + `grep`
  + `umount`
  + `mv`
  + `gzip`
  + `mkdir`
  + `rm`
  + `ln`
  + `cut`
  + `cat`

------
#### [ GGC v1.8 ]
+ 支持的平台:
  + <a name="arch_armv7l_rpi_180"></a>架构：Armv7l；操作系统：Linux
  + <a name="arch_x86-64_amazonlinux_180"></a>架构：x86\$164；操作系统：Linux
  + <a name="arch_armv8-aarch64_archlinux_180"></a>架构：Armv8 (AArch64)；操作系统：Linux
  + <a name="arch_docker_180"></a>Windows、macOS 和 Linux 平台可以在 Docker AWS IoT Greengrass 容器中运行。有关更多信息，请参阅 [AWS IoT Greengrass 在 Docker 容器中运行](run-gg-in-docker-container.md)。
  + <a name="arch_snap_180"></a>[Linux 平台可以使用 Greengrass 快 AWS IoT Greengrass 照运行功能有限的版本，该快照可通过 Snapcraft 获得。](https://snapcraft.io/aws-iot-greengrass)有关更多信息，请参阅 [AWS IoT Greengrass 快照软件](#gg-snapstore-download)。
+ 需要以下项目：
  + <a name="mem_128_disk_space_180"></a>至少 128 MB 磁盘空间可供 AWS IoT Greengrass 酷睿软件使用。如果您要使用 [OTA 更新代理](core-ota-update.md)，则最小值为 <a name="req-core-ota-disk-space"></a>400 MB。
  + <a name="mem_128_ram_180"></a>分配给 AWS IoT Greengrass 核心软件的最低 128 MB 内存。
  + Linux 内核版本：
    + <a name="kernel_4.4_180"></a>需要使用 Linux 内核版本 4.4 或更高版本才能支持 AWS IoT Greengrass 使用[容器](lambda-group-config.md#lambda-containerization-considerations)运行。
    + <a name="kernel_3.17_180"></a>需要使用 Linux 内核版本 3.17 或更高版本才能支持 AWS IoT Greengrass 无容器运行。在此配置中，Greengrass 组的默认 Lambda 函数容器化必须设置为**无容器**。有关说明，请参阅[在组中设置 Lambda 函数的默认容器化](lambda-group-config.md#lambda-containerization-groupsettings)。
  + <a name="glibc_180"></a>[GNU C 库](https://www.gnu.org/software/libc/) (glibc) 版本 2.14 或更高版本。
  + <a name="var_run_180"></a>设备上必须存在 `/var/run` 目录。
  + <a name="dev_dir_180"></a>`/dev/stdin`、`/dev/stdout` 和 `/dev/stderr` 文件必须是可用的。
  + <a name="hardlink_softlink_180"></a>必须在设备上启用硬链接和软链接保护。否则， AWS IoT Greengrass 只能使用`-i`标志在不安全模式下运行。
  + <a name="kernel_config_180"></a>必须在设备上启用以下 Linux 内核配置：
    + <a name="kernel_namespace_180"></a>命名空间：
      + CONFIG\$1IPC\$1NS
      + CONFIG\$1UTS\$1NS
      + CONFIG\$1USER\$1NS
      + CONFIG\$1PID\$1NS
    + <a name="kernel_cgroups_180"></a>Cgroups：
      + CONFIG\$1CGROUP\$1DEVICE
      + CONFIG\$1CGROUPS
      + CONFIG\$1MEMCG

      内核必须支持 [cgroups](https://en.wikipedia.org/wiki/Cgroups)。使用[容器](lambda-group-config.md#lambda-containerization-groupsettings)运行 AWS IoT Greengrass 时，需要满足以下要求：
      + 必须已启用并挂载 *memory* cgroup 以允许 AWS IoT Greengrass 设置 Lambda 函数的内存限制。
      + 如果使用[具有本地资源](access-local-resources.md)访问权限的 Lambda 函数打开核心*设备上的 AWS IoT Greengrass 文件，则必须启用并安装设备* cgroup。
    + <a name="kernel_others_180"></a>其他：
      + CONFIG\$1POSIX\$1MQUEUE
      + CONFIG\$1OVERLAY\$1FS
      + CONFIG\$1HAVE\$1ARCH\$1SECCOMP\$1FILTER
      + CONFIG\$1SECCOMP\$1FILTER
      + CONFIG\$1KEYS
      + CONFIG\$1SECCOMP
      + CONFIG\$1SHMEM
  + <a name="s3_iot_root_cert_180"></a>Amazon S3 的根证书 AWS IoT 必须存在于系统信任存储中。
+ 有条件地需要以下项目：
  + 为您想要在本地运行的 Lambda 函数所需的 [AWS Lambda 运行时](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)提供支持的库。所需的库必须安装在核心上并添加到 `PATH` 环境变量中。在同一核心上可以安装多个库。
    + <a name="runtime_python_2.7"></a>适用于使用 Python 2.7 运行时的函数的 [Python](https://www.python.org/) 版本 2.7。
    + <a name="runtime_nodejs_6.10"></a>适用于使用 Node.js 6.10 运行时的函数的 [Node.js](https://www.nodejs.org/) 版本 6.10 或更高版本。
    + <a name="runtime_java_8"></a>适用于使用 Java 8 运行时的函数的 [Java](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) 版本 8 或更高版本。
  + <a name="ota_agent_180"></a>([OTA) 更新代理需要以下 shell 命令over-the-air （不是 BusyBox 变体）](core-ota-update.md#ota-agent)：
    + `wget`
    + `realpath`
    + `tar`
    + `readlink`
    + `basename`
    + `dirname`
    + `pidof`
    + `df`
    + `grep`
    + `umount`
    + `mv`
    + `gzip`
    + `mkdir`
    + `rm`
    + `ln`
    + `cut`
    + `cat`

------

<a name="gg-limits-genref"></a>有关 AWS IoT Greengrass 配额（限制）的信息，请参阅中的 S [ervice Q](https://docs.aws.amazon.com/general/latest/gr/greengrass.html#limits_greengrass) uotas *Amazon Web Services 一般参考*。

<a name="gg-iot-pricing"></a>有关定价信息，请参阅 [AWS IoT Greengrass 定价](https://aws.amazon.com/greengrass/pricing)和 [AWS IoT Core 定价](https://aws.amazon.com/iot-core/pricing)。

## AWS IoT Greengrass 下载
<a name="gg-downloads"></a>

 您可以使用以下信息来查找并下载可与 AWS IoT Greengrass结合使用的软件。

**Topics**
+ [AWS IoT Greengrass 核心软件](#gg-core-download-tab)
+ [AWS IoT Greengrass 快照软件](#gg-snapstore-download)
+ [AWS IoT Greengrass Docker 软件](#gg-docker-download)
+ [AWS IoT Greengrass 核心软件开发工具包](#gg-core-sdk-download)
+ [支持的机器学习运行时和库](#ml-runtimes-libs)
+ [AWS IoT Greengrass 机器学习 SDK 软件](#gg-ml-sdk-download)

### AWS IoT Greengrass 核心软件
<a name="gg-core-download-tab"></a>

<a name="ggc-software-descripton"></a> AWS IoT Greengrass Core 软件将 AWS 功能扩展到 AWS IoT Greengrass 核心设备，使本地设备能够根据其生成的数据进行本地操作。

------
#### [ v1.11 ]<a name="ggc-v1.11-tab"></a>

1.11.6  
错误修复和改进：  
+ 改进了部署期间突然断电时的恢复能力。
+ 修复了流管理器数据损坏可能阻止 AWS IoT Greengrass Core 软件启动的问题。
+ 修复了在某些情况下新客户端设备无法连接到核心的问题。
+ 修复了流管理器流名称无法包含 `.log` 的问题。

1.11.5  
错误修复和改进：  
+ 常规性能改进和错误修复。

1.11.4  
错误修复和改进：  
+ 修复了直播管理器无法升级到 AWS IoT Greengrass 核心软件 v1.11.3 的问题。如果您使用流管理器将数据导出到云端，则现在可以使用 OTA 更新将早期 v1.x 版本的 C AWS IoT Greengrass ore 软件升级到 v1.11.4。
+ 常规性能改进和错误修复。

1.11.3  
错误修复和改进：  
+ 修复了导致在 Ubuntu 设备上快速运行的 C AWS IoT Greengrass ore 软件在设备突然断电后停止响应的问题。
+ 修复了一个问题，该问题导致向长时间生存的 Lambda 函数传送 MQTT 消息时出现延迟。
+ 修复了一个问题，该问题导致 `maxWorkItemCount` 值设置为大于 `1024` 时无法正确发送 MQTT 消息。
+ 修复了一个问题，该问题导致 OTA 更新代理忽略 [`config.json`](gg-core.md#config-json) 的 `keepAlive` 属性中指定的 MQTT `KeepAlive` 周期。
+ 常规性能改进和错误修复。
如果您使用流管理器将数据导出到云端，请*不要*从较早的 v1.x 版本升级到 C AWS IoT Greengrass ore 软件 v1.11.3。如果您是首次启用直播管理器，我们强烈建议您先安装最新版本的 AWS IoT Greengrass Core 软件。

1.11.1  
 错误修复和改进：  
+ 修复了导致流管理器内存使用量增大的问题。
+ 修复了在 Greengrass 核心设备关闭时间超过 time-to-live指定的 (TTL) 流数据`0`时段时，直播管理器会将直播的序列号重置为的问题。
+ 修复了一个问题，该问题导致流管理器无法正确停止重新尝试将数据导出到 AWS 云。

1.11.0  
新功能：  <a name="what-new-v1110"></a>
+ Greengrass 核心上的遥测代理收集本地遥测数据并将其发布到。 AWS 云要检索遥测数据以供进一步处理，客户可以创建 Amazon EventBridge 规则并订阅目标。有关更多信息，请参阅[从 AWS IoT Greengrass 核心设备收集系统运行状况遥测数据](https://docs.aws.amazon.com/greengrass/v1/developerguide/telemetry.html)。
+ 本地 HTTP API 会返回由启动的本地工作进程的当前状态快照 AWS IoT Greengrass。有关更多信息，请参阅[调用本地运行状况检查 API](https://docs.aws.amazon.com/greengrass/v1/developerguide/health-check.html)。
+ [流管理器](stream-manager.md)会自动将数据导出到 Amazon S3 和 AWS IoT SiteWise。

  借助新的[流管理器参数](configure-stream-manager.md)，您可以更新现有的流并暂停或恢复数据导出。
+ 支持在核心上运行 Python 3.8.x Lambda 函数。
+ [`config.json`](gg-core.md#config-json) 中包含一个新的 `ggDaemonPort` 属性，可用于配置 Greengrass 核心 IPC 端口号。默认端口号为 8000。

  [`config.json`](gg-core.md#config-json) 中包含一个新的 `systemComponentAuthTimeout` 属性，它可用于配置 Greengrass 核心 IPC 身份验证的超时时间。默认超时为 5000 毫秒。
+ 将每 AWS IoT Greengrass 组 AWS IoT 设备的最大数量从 200 增加到 2500。

  每个组的订阅数量上限从 1000 增加到了 10000。

  有关更多信息，请参阅 [AWS IoT Greengrass 端点和配额](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)。
错误修复和改进：  <a name="bug-fix-v1110"></a>
+ 进行了常规优化，可以降低 Greengrass 服务进程的内存利用率。
+ 新的运行时配置参数 (`mountAllBlockDevices`) 允许 Greengrass 在设置 OverlayFS 后使用绑定挂载将所有块设备挂载到容器中。此功能解决了 `/usr` 不在 `/` 层次结构下时导致 Greengrass 部署失败的问题。
+ 修复了如果`/tmp`是符号链接，则会导致 AWS IoT Greengrass 核心失败的问题。
+ 修复了一个问题，使 Greengrass 部署代理可从 `mlmodel_public` 文件夹中移除未使用的机器学习模型工件。
+ 常规性能改进和错误修复。

要在 AWS IoT Greengrass 核心设备上安装 Core 软件，请下载适用于您的架构和操作系统 (OS) 的软件包，然后按照《[入门指南](gg-gs.md)》中的步骤进行操作。

**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 还提供了用于安装 C AWS IoT Greengrass ore 软件的其他选项。例如，您可以使用 [Greengrass 设备](quick-start.md)设置来配置您的环境并安装最新版本的 Core 软件。 AWS IoT Greengrass 或者，在支持的 Debian 平台上，你可以使用 [APT 软件包管理器](install-ggc.md#ggc-package-manager)来安装或升级 AWS IoT Greengrass Core 软件。有关更多信息，请参阅 [安装 AWS IoT Greengrass 核心软件](install-ggc.md)。


| 架构 | 操作系统 | Link | 
| --- | --- | --- | 
| Armv8 () AArch64 | Linux | [下载](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/greengrass-linux-aarch64-1.11.6.tar.gz) | 
| Armv8 () AArch64 | Linux (OpenWrt) | [下载](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/greengrass-openwrt-aarch64-1.11.6.tar.gz) | 
| Armv7l | Linux | [下载](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/greengrass-linux-armv7l-1.11.6.tar.gz) | 
| Armv7l | Linux (OpenWrt) | [下载](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/greengrass-openwrt-armv7l-1.11.6.tar.gz) | 
| Armv6l | Linux | [下载](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/greengrass-linux-armv6l-1.11.6.tar.gz) | 
| x86\$164 | Linux | [下载](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/greengrass-linux-x86-64-1.11.6.tar.gz) | 

------
#### [ Extended life versions ]

1.10.5  
v1.10 中的新功能：  <a name="what-new-v1100"></a>
+ 用于本地处理数据流并自动将其导出到 AWS 云 的流管理器。此功能需要 Greengrass 核心设备上的 Java 8。有关更多信息，请参阅 [管理 AWS IoT Greengrass 核心上的数据流](stream-manager.md)。
+ 用于在核心设备上运行 Docker 应用程序的新 Greengrass Docker 应用程序部署连接器。有关更多信息，请参阅 [Docker 应用程序部署连接器](docker-app-connector.md)。
+ 一种新的物联网 SiteWise 连接器，可将工业设备数据从OPC-UA服务器发送到中的资产属性。 AWS IoT SiteWise有关更多信息，请参阅 [物联网 SiteWise 连接器](iot-sitewise-connector.md)。
+ 在未进行容器化的情况下运行的 Lambda 函数可以访问 Greengrass 组中的机器学习资源。有关更多信息，请参阅 [从 Lambda 函数访问机器学习资源](access-ml-resources.md)。
+ Support 支持 MQTT 持久会话。 AWS IoT有关更多信息，请参阅 [使用 MQTT 持续会话 AWS IoT Core](gg-core.md#mqtt-persistent-sessions)。
+ 本地 MQTT 流量可通过默认端口 8883 以外的端口传输。有关更多信息，请参阅 [为本地消息收发配置 MQTT 端口](gg-core.md#config-local-mqtt-port)。
+ [AWS IoT Greengrass Core 软件开发工具包](lambda-functions.md#lambda-sdks-core)中包含新的 `queueFullPolicy` 选项，可用于通过 Lambda 函数可靠地发布消息。
+ 支持在核心上运行 Node.js 12.x Lambda 函数。
错误修复和改进：  
+ <a name="bug-fix-v1100-ota"></a>Over-the-air 可以使用 OpenSSL 1.1 配置具有硬件安全集成功能的 (OTA) 更新。
+ <a name="bug-fix-v1101-stream-mgr"></a>[流管理器](stream-manager.md)能够更灵活地应对文件数据损坏。
+ <a name="bug-fix-v1101-sysfs"></a>修复了导致使用 Linux 内核 5.1 及更高版本的设备上系统安装失败的问题。
+ <a name="bug-fix-v1102-mqtt-operation-timeout"></a>[config.json](gg-core.md#config-json) 中的一个新`mqttOperationTimeout`属性，用于在与之连接的 MQTT 中设置发布、订阅和取消订阅操作的超时时间。 AWS IoT Core
+ <a name="bug-fix-v1103-stream-manager-mem-usage"></a>修复了导致流管理器内存使用量增大的问题。
+ <a name="bug-fix-v1103-system-component-auth-timeout"></a>[`config.json`](gg-core.md#config-json) 中包含一个新的 `systemComponentAuthTimeout` 属性，它可用于配置 Greengrass 核心 IPC 身份验证的超时时间。默认超时为 5000 毫秒。
+ <a name="bug-fix-v1104-ota-mqtt-keep-alive"></a>修复了一个问题，该问题导致 OTA 更新代理忽略 [`config.json`](gg-core.md#config-json) 的 `keepAlive` 属性中指定的 MQTT `KeepAlive` 周期。
+ <a name="bug-fix-v1104-mqtt-max-work-item-count"></a>修复了一个问题，该问题导致 `maxWorkItemCount` 值设置为大于 `1024` 时无法正确发送 MQTT 消息。
+ <a name="bug-fix-v1104-mqtt-long-lived-delay"></a>修复了一个问题，该问题导致向长时间生存的 Lambda 函数传送 MQTT 消息时出现延迟。
+ <a name="bug-fix-v1104-snap-power-loss"></a>修复了导致在 Ubuntu 设备上快速运行的 C AWS IoT Greengrass ore 软件在设备突然断电后停止响应的问题。
+ 常规性能改进和错误修复。
要在 AWS IoT Greengrass 核心设备上安装 Core 软件，请下载适用于您的架构和操作系统 (OS) 的软件包，然后按照《[入门指南](gg-gs.md)》中的步骤进行操作。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/what-is-gg.html)

1.9.4  
版本 1.9 中的新功能：  
+ <a name="what-new-v190-runtimes"></a>支持 Python 3.7 和 Node.js 8.10 Lambda 运行时。使用 Python 3.7 和 Node.js 8.10 运行时的 Lambda 函数现在可以在内核上运行。 AWS IoT Greengrass （AWS IoT Greengrass 继续支持 Python 2.7 和 Node.js 6.10 运行时。）
+ <a name="what-new-v190-mqtt-opt"></a>优化了 MQTT 连接。Greengrass 核心与 AWS IoT Core建立的连接数较少。对于基于连接数的收费，此更改可以降低运营成本。
+ <a name="what-new-v190-ec-key"></a>适用于本地 MQTT 服务器的椭圆曲线 (EC) 密钥。除了 RSA 密钥之外，本地 MQTT 服务器还支持 EC 密钥。（无论密钥类型如何，MQTT 服务器证书都具有 SHA-256 RSA 签名。） 有关更多信息，请参阅 [AWS IoT Greengrass 核心安全主体](gg-sec.md#gg-principals)。
+ <a name="what-new-v192-openwrt"></a>Support fo [OpenWrt](https://openwrt.org/)r. AWS IoT Greengrass 核心软件 v1.9.2 或更高版本可以安装在采用 Armv8 () AArch64 和 armv7L 架构的 OpenWrt 发行版上。目前， OpenWrt 不支持 ML 推理。
+ <a name="what-new-v193-armv6l"></a>支持 armv6L。 AWS IoT Greengrass 核心软件 v1.9.3 或更高版本可以安装在 armv6L 架构上的 Raspbian 发行版上（例如，在 Raspberry Pi Zero 设备上）。
+ <a name="what-new-v193-ota-alpn"></a>OTA 在端口 443 上使用 ALPN 进行更新。使用端口 443 进行 MQTT 流量的 Greengrass 内核现在支持 (OTA) 软件更新。 over-the-air AWS IoT Greengrass 使用应用层协议网络 (ALPN) TLS 扩展来启用这些连接。有关更多信息，请参阅[AWS IoT Greengrass 核心软件的 OTA 更新](core-ota-update.md)和[通过端口 443 或网络代理进行连接](gg-core.md#alpn-network-proxy)。
要在 AWS IoT Greengrass 核心设备上安装 Core 软件，请下载适用于您的架构和操作系统 (OS) 的软件包，然后按照《[入门指南](gg-gs.md)》中的步骤进行操作。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/what-is-gg.html)

1.8.4  
+ <a name="what-new-v180"></a>新功能：
  + 组中 Lambda 函数的可配置默认访问身份。这一组级别设置确定用于运行 Lambda 函数的默认权限。您可以设置用户 ID 和/或组 ID。各个 Lambda 函数可以覆盖其组的默认访问身份。有关更多信息，请参阅 [为组中的 Lambda 函数设置默认访问身份](lambda-group-config.md#lambda-access-identity-groupsettings)。
  + 通过端口 443 的 HTTPS 流量。HTTPS 通信可以配置为通过端口 443（而不是默认端口 8443）进行传输。这补充了对应用层协议网络 (ALPN) TLS 扩展的 AWS IoT Greengrass 支持，并允许所有 Greengrass 消息流量（包括 MQTT 和 HTTPS）使用端口 443。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](gg-core.md#alpn-network-proxy)。
  + 可以预见地命名为 IDs 用于 AWS IoT 连接的客户端。此更改将启用对于 AWS IoT Device Defender 和 [AWS IoT 生命周期事件](https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html)的支持，因此，您可以针对连接、断开连接、订阅以及取消订阅事件接收通知。可预测的命名还可以更轻松地围绕连接创建逻辑 IDs （例如，根据证书属性创建[订阅策略](https://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html#pub-sub-policy-cert)模板）。有关更多信息，请参阅 [IDs 用于 MQTT 连接的客户端 AWS IoT](gg-core.md#connection-client-id)。

  错误修复和改进：
  + 修复了影子同步和设备证书管理器重新连接的问题。
  + 常规性能改进和错误修复。
要在 AWS IoT Greengrass 核心设备上安装 Core 软件，请下载适用于您的架构和操作系统 (OS) 的软件包，然后按照《[入门指南](gg-gs.md)》中的步骤进行操作。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/what-is-gg.html)

------

 下载此软件即表示您同意[Greengrass Core 软件许可协议](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)。

有关在设备上安装 AWS IoT Greengrass Core 软件的其他选项的信息，请参阅[安装 AWS IoT Greengrass 核心软件](install-ggc.md)。

 

### AWS IoT Greengrass 快照软件
<a name="gg-snapstore-download"></a>

<a name="gg-snap-description"></a>AWS IoT Greengrass snap 1.11.x 使您能够在容器化 AWS IoT Greengrass 环境中通过便捷的软件包以及所有必要的依赖项运行有限版本的。

**注意**  <a name="gg-snap-v1.11-note"></a>
该 AWS IoT Greengrass 快照适用于 AWS IoT Greengrass 酷睿软件 v1.11.x。 AWS IoT Greengrass 不为 v1.10.x 提供快照。不受支持的版本不会收到错误修复或更新。  
 AWS IoT Greengrass 快照不支持连接器和机器学习 (ML) 推理。

有关更多信息，请参阅 [快速运行 AWS IoT Greengrass](install-ggc.md#gg-snap-support)。

 

### AWS IoT Greengrass Docker 软件
<a name="gg-docker-download"></a>

AWS 提供了 Dockerfile 和 Docker 镜像，让你可以更轻松地在 Docker 容器 AWS IoT Greengrass 中运行。

Dockerfile  
Dockerfiles 包含用于构建自定义 AWS IoT Greengrass 容器镜像的源代码。可对映像进行修改，以在不同的平台架构上运行或减少映像的大小。有关说明，请参阅自述文件。  
下载您的目标 AWS IoT Greengrass Core 软件版本。  
+  适用于 v1.11.6 的 [Dockerfile。 AWS IoT Greengrass](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.11.6/aws-greengrass-docker-1.11.6.tar.gz)  
v1.10  
 适用于 v1.10.5 的 [Dockerfile。 AWS IoT Greengrass](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.10.5/aws-greengrass-docker-1.10.5.tar.gz)  
v1.9  
 适用于 v1.9.4 的 [Dockerfile。 AWS IoT Greengrass](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.9.4/aws-greengrass-docker-1.9.4.tar.gz)  
v1.8  
 适用于 v1.8.1 的 [Dockerfile。 AWS IoT Greengrass](https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.8.1/aws-greengrass-docker-1.8.1.tar.gz)
 

Docker 映像  
Docker 镜像在亚马逊 Linux 2 (x86\$164) 和 Alpine Linux（x86\$164、armv7L 或）基础映像上安装了 AWS IoT Greengrass 核心软件和依赖项。 AArch64您可以使用预构建的映像开始尝试 AWS IoT Greengrass。  
<a name="docker-images-end-of-maintenance"></a>2022 年 6 月 30 日，我 AWS IoT Greengrass 结束了对发布到亚马逊弹性容器注册表 (Amazon ECR) 和 Docker Hub 的 AWS IoT Greengrass 核心软件 v1.x Docker 镜像的维护。您可以继续从 Amazon ECR 和 Docker Hub 下载这些 Docker 映像，直至 2023 年 6 月 30（即维护结束 1 年后）为止。但是，在 2022 年 6 月 30 日维护结束后， AWS IoT Greengrass 核心软件 v1.x Docker 镜像不再收到安全补丁或错误修复。如果您运行的生产工作负载依赖于这些 Docker 镜像，我们建议您使用提供的 Dockerfiles 构建自己的 Docker 镜像。 AWS IoT Greengrass 有关更多信息，请参阅 [AWS IoT Greengrass Version 1 维护政策](maintenance-policy.md)。
从 [ Docker Hub](https://hub.docker.com/r/amazon/aws-iot-greengrass) 或 Amazon Elastic Container Registry (Amazon ECR) 中下载预构建映像。  
+ 对于 Docker Hub，使用*version*标签下载特定版本的 Greengrass Docker 镜像。要查找所有可用映像的标签，请查看 Docker Hub 上的 **Tags** 页面。
+ 若是 Amazon ECR，请使用 `latest` 标签下载 Greengrass Docker 映像的最新可用版本。有关列出可用映像版本和从 Amazon ECR 下载映像的更多信息，请参阅[AWS IoT Greengrass 在 Docker 容器中运行](run-gg-in-docker-container.md)。
从 AWS IoT Greengrass 核心软件的 v1.11.6 开始，Greengrass Docker 镜像不再包含 Python 2.7，因为 Python 2.7 已于 2020 年推出，不再接收安全更新。 end-of-life如果您选择更新这些 Docker 映像，我们建议您在将更新部署到生产设备之前，先验证应用程序是否可以使用新的 Docker 映像。如果使用 Greengrass Docker 映像的应用程序需要 Python 2.7，您可以修改 Greengrass Dockerfile，为您的应用程序包含 Python 2.7。
AWS IoT Greengrass 不为 AWS IoT Greengrass 核心软件 v1.11.1 提供 Docker 镜像。  
默认情况下，`alpine-aarch64` 和 `alpine-armv7l` 映像只能在基于 ARM 的主机上运行。要在 x86 主机上运行这些映像，您可以安装 [QEMU](https://www.qemu.org/) 并在主机上挂载 QEMU 库。例如：  

```
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
```

 

### AWS IoT Greengrass 核心软件开发工具包
<a name="gg-core-sdk-download"></a>

Lambda 函数使用 AWS IoT Greengrass 核心软件开发工具包在本地与 AWS IoT Greengrass 核心进行交互。这允许已部署的 Lambda 函数执行：<a name="gg-core-sdk-functionality"></a>
+ 与交换 MQTT 消息。 AWS IoT Core
+ 与 Greengrass 组中的连接器、客户端设备及其他 Lambda 函数交换 MQTT 消息。
+ 与本地影子服务交互。
+ 调用其他的本地 Lambda 函数。
+ 访问[密钥资源](secrets.md)。
+ 与[流管理器](stream-manager.md)交互。

从中下载适用于您的语言或平台的 AWS IoT Greengrass Core SDK GitHub。<a name="gg-core-sdk-download-list"></a>
+ [AWS IoT Greengrass 适用于 Java 的核心 SDK](https://github.com/aws/aws-greengrass-core-sdk-java/)
+ [AWS IoT Greengrass Node.js 的核心 SDK](https://github.com/aws/aws-greengrass-core-sdk-js/)
+ [AWS IoT Greengrass Python 核心软件开发工具包](https://github.com/aws/aws-greengrass-core-sdk-python/)
+ [AWS IoT Greengrass 适用于 C 的核心 SDK](https://github.com/aws/aws-greengrass-core-sdk-c/)

有关更多信息，请参阅 [AWS IoT Greengrass 核心软件开发工具包](lambda-functions.md#lambda-sdks-core)。

 <a name="gg-ml-runtimes-pc-libs"></a>

### 支持的机器学习运行时和库
<a name="ml-runtimes-libs"></a>

 要在 Greengrass 核心上[执行推理](ml-inference.md)，您必须为 ML 模型类型安装机器学习运行时或库。

AWS IoT Greengrass 支持以下 ML 模型类型。可以使用这些链接来查找有关如何为模型类型和设备平台安装运行时或库的信息。
+ [深度学习运行时 (DLR)](https://neo-ai-dlr.readthedocs.io/en/latest/install.html)
+ [MXNet](https://mxnet.apache.org/get_started/?)
+ [TensorFlow](https://www.tensorflow.org/install)

#### 机器学习示例
<a name="gg-ml-samples"></a>

AWS IoT Greengrass 提供了可用于支持的 ML 运行时和库的示例。这些示例在 [Greengrass Core 软件许可协议](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)下发布。

------
#### [  Deep learning runtime (DLR)  ]

下载适用于设备平台的示例：
+ 适用于 [Raspberry Pi](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/dlr/dlr-py3-armv7l.tar.gz) 的 DLR 示例
+ [NVIDIA](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/dlr/dlr-py3-aarch64.tar.gz) Jetson 的 DLR 示例 TX2
+ 适用于 [Intel Atom](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/dlr/dlr-py3-x86_64.tar.gz) 的 DLR 示例

有关使用 DLR 示例的教程，请参阅[如何使用配置优化的机器学习推理 AWS 管理控制台](ml-dlc-console.md)。

------
#### [  MXNet  ]

下载适用于设备平台的示例：
+ MXNet [树莓派](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/mxnet/mxnet-py3-armv7l.tar.gz)的样本
+ MXNet [英伟达 Jetson](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/mxnet/mxnet-py3-aarch64.tar.gz) 的样本 TX2
+ MXNet [英特尔凌动](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/mxnet/mxnet-py3-x86_64.tar.gz)示例

有关使用该 MXNet 示例的教程，请参阅[如何使用配置机器学习推理 AWS 管理控制台](ml-console.md)。

------
#### [  TensorFlow  ]

下载适用于您设备平台的 [Tensorflow 示例](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-samples/tf/tf-py3.tar.gz)。此示例适用于 Raspberry Pi、NVIDIA Jetson TX2 和英特尔凌动。

------

 

### AWS IoT Greengrass 机器学习 SDK 软件
<a name="gg-ml-sdk-download"></a>

[AWS IoT Greengrass Machine Learning](lambda-functions.md#lambda-sdks-ml) 使您编写的 Lambda 函数能够使用本地机器学习模型，并将数据发送到 [ML 反馈](ml-feedback-connector.md)连接器以进行上传和发布。

------
#### [  v1.1.0  ]
+  [ Python 3.7](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-sdk/downloads/python/3.7/greengrass-machine-learning-python-sdk-1.1.0.tar.gz)。

------
#### [  v1.0.0  ]
+  [ Python 2.7](https://d1onfpft10uf5o.cloudfront.net/greengrass-ml-sdk/downloads/python/2.7/greengrass-machine-learning-python-sdk-1.0.0.tar.gz)。

------

## 我们希望听到您的意见和建议
<a name="contact-us"></a>

我们欢迎您提供反馈。要联系我们，请访问 [AWS re:Post](https://repost.aws/) 并使用 [AWS IoT Greengrass 标签](https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass)。