

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 選擇您的 nucleus AWS IoT Greengrass 執行時間
<a name="choosing-your-runtime"></a>

自 2.14.0 版起， AWS IoT Greengrass 提供其裝置執行期的兩種替代實作，即稱為 核的可執行檔。雖然兩者的實作差異，但這兩個執行時間都與服務 AWS IoT Greengrass 和 APIs 相容，並可讓您使用 Greengrass SDK 部署 提供的元件 AWS 或使用 開發自訂元件。您也可以視需要在相同機群中使用任一類型的核混合裝置。

不過，為了實現所需的可攜性或特定的記憶體節省優勢，請務必確保您在 Greengrass 裝置上部署的 核與您打算用來加速解決方案開發的 AWS IoT 元件相容。若要進一步了解元件相容性，請參閱[元件](https://docs.aws.amazon.com/greengrass/v2/developerguide/public-components.html)。

最後，兩個 Greengrass 執行時間選項之間的選擇將取決於您的特定使用案例、裝置限制條件、功能需求和作業系統。

## Greengrass 核
<a name="w2ab1b6c19b9"></a>

AWS IoT Greengrass 核是功能完整的執行期，可讓您 AWS IoT Greengrass 在各種裝置上執行，包括閘道、伺服器和具有更多運算資源的邊緣裝置。如果出現下列情況，請考慮選擇 Greengrass 核：
+ **運算資源：**您的裝置有足夠的運算資源，例如超過 128 MB 的 RAM 和相對強大的處理器 （例如，大於 1 GHz 時鐘）。
+ **需要完整的作業系統支援：**Greengrass 核支援最廣泛的作業系統 （包括大多數 Linux 分佈和 Windows)。
+ **元件相容性：**Greengrass 核提供與服務團隊和合作夥伴發佈的 AWS IoT 現有元件最完整的相容性。

## Greengrass 核精簡
<a name="w2ab1b6c19c11"></a>

AWS IoT Greengrass nucleus lite 是一種輕量的開放原始碼執行期，可讓您 AWS IoT Greengrass 在資源受限的裝置上執行。這對於具有大量應用程式的低成本單板電腦非常有用，例如智慧家庭中樞、智慧電表、智慧車輛、邊緣 AI 和機器人。如果裝置符合下列條件，請考慮選擇 Greengrass nucleus lite：
+ **資源受限：**您的裝置資源有限，例如 RAM 記憶體 (512 MB 或更少）、儲存空間 （快閃記憶體） 或低效能處理器 （少於 1 GHz)。
+ **相依性限制：**您的裝置廠商軟體平台不支援 Java 或 Greengrass 核所需的特定 JVM。
+ **作業系統：**您的裝置會執行支援 *systemd* 的 Linux 發行版本 （例如：Ubuntu、Yocto)。

### Greengrass nucleus lite 的目前限制
<a name="w2ab1b6c19c11b7"></a>

Greengrass nucleus lite 執行時間提供 Greengrass nucleus 中可用功能的子集。

 AWS IoT Greengrass IPC （程序間通訊） 機制可讓元件與 Greengrass 核進行通訊。核的輕量版本支援下列子集：


| 功能 | 可用性 | 
| --- | --- | 
|  SubscribeToTopic  |  Available  | 
|  PublishToTopic  |  Available  | 
|  PublishToIoTCore  |  Available  | 
|  SubscribeToIoTCore  |  Available  | 
|  UpdateState  |  目前無法使用  | 
|  SubscribeToComponentUpdates  |  目前無法使用  | 
|  DeferComponentUpdate  |  目前無法使用  | 
|  GetConfiguration  |  Available  | 
|  UpdateConfiguration  |  Available  | 
|  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  | 目前無法使用 | 