本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
选择你的 n Amazon IoT Greengrass ucleus 运行时间
从版本2.14.0开始, Amazon IoT Greengrass 提供了其设备运行时的两种替代实现,一种名为nucleus的可执行文件。尽管实现方式有所不同,但这两个运行时都与该 Amazon IoT Greengrass 服务兼容, APIs 并且允许您使用 Greengrass SDK 部署提供的组件 Amazon 或开发自定义组件。同样也可以混合使用设备,根据需要在同一实例集中使用任一类型的 Nucleus。
但是,为了实现所需的可移植性或特定的省内存好处,必须确保在 Greengrass 设备上部署的 Nucleus 与打算用于加速 Amazon IoT 解决方案开发的组件兼容。要了解有关组件兼容性的更多信息,请参阅组件。
最终,如何在两个 Greengrass 运行时选项之间进行选择将取决于您的特定用例、设备限制、功能要求和操作系统。
Greengrass Nucleus
Amazon IoT Greengrass nucleus 是功能齐全的运行时,它使您能够在各种设备 Amazon IoT Greengrass 上运行,包括具有更多计算资源的网关、服务器和边缘设备。在以下情况下,可考虑选择 Greengrass Nucleus Classic:
-
计算资源:您的设备有足够的计算资源,例如超过 1 GB 的 RAM 和相对强大的处理器(例如,大于 1 个 GHz 时钟)。
-
需要全面的操作系统支持:Greengrass Nucleus Classic 支持最广泛的操作系统(包括大多数 Linux 发行版与 Windows)。
-
组件兼容性:Greengrass Nucleus Classic 与 Amazon IoT 服务团队和合作伙伴发布的现有组件完全兼容。
Greengrass Nucleus Lite
Amazon IoT Greengrass nucleus lite 是一款轻量级的开源运行时,可让您在资源受限 Amazon IoT Greengrass 的设备上运行。这对于具有大量应用程序的低成本单板计算机很有用,例如智能家居中心、智能电表、智能汽车、边缘人工智能和机器人。如果您的设备符合以下条件,可考虑选择 Greengrass Nucleus Lite
-
资源受限:您的设备资源有限,例如 RAM 内存(512 MB 或更小)、存储(FLASH)空间或低性能处理器(小于 1)。 GHz
-
依赖性受限:设备供应商软件平台不支持 Java 或 Nucleus Classic 所需的特定 JVM。
-
操作系统:设备运行的是支持 systemd 的 Linux 发行版(例如:Ubuntu、Yocto)。
Greengrass Nucleus Lite 当前的局限性
正如 Amazon IoT Greengrass v2.14.0 中包含的那样,nucleus lite (v.2.0.0) 运行时提供了 nucleus classic (v2.14.0) 提供的部分功能。
Amazon IoT Greengrass IPC(进程间通信)机制允许组件与 Greengrass 核通信。Nucleus 的轻量级版本支持以下子集:
| 功能 | 可用性 |
|---|---|
|
SubscribeToTopic |
可用 |
|
PublishToTopic |
可用 |
|
PublishToIoTCore |
可用 |
|
SubscribeToIoTCore |
Available |
|
UpdateState |
暂不可用 |
|
SubscribeToComponentUpdates |
暂不可用 |
|
DeferComponentUpdate |
暂不可用 |
|
GetConfiguration |
可用 |
|
UpdateConfiguration |
可用 |
|
SubscribeToConfigurationUpdate |
Available |
|
SubscribeToValidateConfigurationUpdates |
暂不可用。 |
|
SendConfigurationValidityReport |
暂不可用。 |
|
GetSecretValue |
暂不可用。 |
|
PutComponentMetric |
暂不可用 |
|
GetComponentDetails |
暂不可用 |
|
RestartComponent |
暂不可用 |
|
StopComponent |
暂不可用 |
|
CreateLocalDeployment |
Available |
|
CancelLocalDeployment |
暂不可用 |
|
GetLocalDeploymentStatus |
暂不可用 |
|
ListLocalDeployments |
暂不可用 |
|
ListComponents |
暂不可用 |
|
ValidateAuthorizationToken |
Available |
|
CreateDebugPassword |
暂不可用 |
|
PauseComponent |
暂不可用 |
|
ResumeComponent |
暂不可用 |
|
GetThingShadow |
暂不可用 |
|
UpdateThingShadow |
暂不可用 |
|
DeleteThingShadow |
暂不可用 |
|
ListNamedShadowsForThing |
暂不可用 |
|
SubscribeToCertificateUpdates |
暂不可用 |
|
VerifyClientDeviceIdentity |
暂不可用 |
|
GetClientDeviceAuthToken |
暂不可用 |
|
AuthorizeClientDeviceAction |
暂不可用 |