

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

# 什麼是 AWS IoT Greengrass？
<a name="what-is-iot-greengrass"></a>

AWS IoT Greengrass 是一種開放原始碼物聯網 (IoT) 節點執行期和雲端服務，可協助您在裝置上建置、部署和管理 IoT 應用程式。您可以使用 AWS IoT Greengrass 建置軟體，讓裝置在本機對產生的資料採取行動、根據機器學習模型執行預測，以及篩選和彙總裝置資料。 AWS IoT Greengrass 可讓裝置收集和分析更接近產生資料的位置的資料、自動回應本機事件，以及安全地與本機網路上的其他裝置通訊。Greengrass 裝置也可以安全地與 通訊， AWS IoT Core 並將 IoT 資料匯出至 AWS 雲端。您可以使用 AWS IoT Greengrass ，使用稱為元件的預先建置軟體模組來建置邊緣應用程式，這些模組可將邊緣裝置連線至 AWS 服務或第三方服務。您也可以使用 AWS IoT Greengrass ，使用 Lambda 函數、Docker 容器、原生作業系統程序或您選擇的自訂執行時間來封裝和執行軟體。

下列範例顯示 AWS IoT Greengrass 裝置如何與 互動 AWS 雲端。

![\[AWS IoT Greengrass 裝置如何與 互動的概觀 AWS 雲端。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/greengrass-overview.png)


## 新功能
<a name="new-features"></a>

AWS IoT Greengrass V2 推出新功能和改進功能。以下包含有關第 2 版中提供的新功能的詳細資訊。
+ [中的新功能 AWS IoT Greengrass Version 2](greengrass-v2-whats-new.md)

## 對於 的第一次使用者 AWS IoT Greengrass
<a name="first-time-user"></a>

如果您是新手 AWS IoT Greengrass，建議您檢閱以下章節：
+ [AWS IoT Greengrass 運作方式](how-it-works.md)

接下來，遵循[入門教學](getting-started.md)課程來嘗試 的基本功能 AWS IoT Greengrass。在本教學課程中，您會在裝置上安裝 AWS IoT Greengrass Core 軟體、開發 Hello World 元件，以及封裝該元件以進行部署。

## 對於 的現有使用者 AWS IoT Greengrass V1
<a name="existing-users"></a>

終止支援通知： 將於 2026 AWS 年 10 月 7 日終止對 的支援 AWS IoT Greengrass Version 1。2026 年 10 月 7 日之後，您將無法再存取 AWS IoT Greengrass V1 主控台或 AWS IoT Greengrass V1 資源。如需如何從第 1 版移至第 2 版的詳細資訊，請參閱 [從第 1 AWS IoT Greengrass 版遷移](migrate-from-v1.md)。

# AWS IoT Greengrass 運作方式
<a name="how-it-works"></a>

對於具有 ARM 或 x86 架構的裝置， AWS IoT Greengrass 用戶端軟體也稱為 AWS IoT Greengrass Core 軟體，在 Windows 和 Linux 發行版本上執行，例如 Ubuntu 或 Raspberry Pi OS。使用 AWS IoT Greengrass，您可以對裝置進行程式設計，以根據其產生的資料在本機採取行動、根據機器學習模型執行預測，以及篩選和彙總裝置資料。 AWS IoT Greengrass 啟用 AWS Lambda 函式、Docker 容器、原生作業系統程序或您選擇的自訂執行時間的本機執行。

AWS IoT Greengrass 提供稱為元件的預先建置軟體模組，可讓您輕鬆擴展邊緣裝置功能。 AWS IoT Greengrass 元件可讓您連線至邊緣 AWS 的服務和第三方應用程式。在您開發 IoT 應用程式之後， AWS IoT Greengrass 可讓您在 欄位中遠端部署、設定和管理裝置機群上的這些應用程式。

下列範例顯示  AWS IoT Greengrass 裝置如何與 中的 AWS IoT Greengrass 雲端服務和其他 AWS 服務互動 AWS 雲端。

![\[裝置如何與 中的 AWS IoT Greengrass 雲端服務和其他 AWS 服務 AWS IoT Greengrass 互動的概觀 AWS 雲端。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/how-it-works.png)


## 的主要概念 AWS IoT Greengrass
<a name="concept-overview"></a>

以下是了解和使用 的基本概念 AWS IoT Greengrass：

****AWS IoT 物件****  
 AWS IoT 物件是特定裝置或邏輯實體的表示法。有關物件的資訊會存放在 AWS IoT 登錄檔中。

****Greengrass 核心裝置****  
執行 AWS IoT Greengrass Core 軟體的裝置。Greengrass 核心裝置是 AWS IoT 物件。您可以將多個核心裝置新增至 AWS IoT 物件群組，以建立和管理 Greengrass 核心裝置的群組。如需詳細資訊，請參閱[設定 AWS IoT Greengrass 核心裝置](setting-up.md)。

****Greengrass 用戶端裝置****  
透過 MQTT 連線至 Greengrass 核心裝置並與之通訊的裝置。Greengrass 用戶端裝置是 AWS IoT 實物。核心裝置可以處理、篩選和彙總連接到該核心裝置之用戶端裝置的資料。您可以設定核心裝置，在用戶端裝置、 AWS IoT Core 雲端服務和 Greengrass 元件之間轉送 MQTT 訊息。如需詳細資訊，請參閱[與本機 IoT 裝置互動](interact-with-local-iot-devices.md)。  
用戶端裝置可以執行 [FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-lib-gg-connectivity.html)，或使用 [AWS IoT Device SDK](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html)或 [Greengrass 探索 API](greengrass-discover-api.md) 來取得其可連線之核心裝置的相關資訊。

****Greengrass 元件****  
部署至 Greengrass 核心裝置並在其上執行的軟體模組。使用 開發和部署的所有軟體 AWS IoT Greengrass 都會建模為元件。 AWS IoT Greengrass 提供預先建置的公有元件，提供您可以在應用程式中使用的功能。您也可以在本機裝置或雲端開發自己的自訂元件。開發自訂元件之後，您可以使用 AWS IoT Greengrass 雲端服務將其部署到單一或多個核心裝置。您可以建立自訂元件，並將該元件部署至核心裝置。當您這麼做時，核心裝置會下載下列資源來執行元件：  
+ **配方**：透過定義元件詳細資訊、組態和參數來描述軟體模組的 JSON 或 YAML 檔案。
+ **成品**：來源碼、二進位檔或指令碼，定義將在您的裝置上執行的軟體。您可以從頭開始建立成品，也可以使用 Lambda 函數、Docker 容器或自訂執行時間建立元件。
+ **相依性**：元件之間的關係，可讓您強制執行相依元件的自動更新或重新啟動。例如，您可以擁有依賴加密元件的安全訊息處理元件。這可確保加密元件的任何更新都會自動更新並重新啟動訊息處理元件。
如需詳細資訊，請參閱[AWS提供的元件](public-components.md)及[開發 AWS IoT Greengrass 元件](develop-greengrass-components.md)。

****部署****  
傳送元件並將所需元件組態套用至目的地目標裝置的程序，可以是單一 Greengrass 核心裝置或一組 Greengrass 核心裝置。部署會自動將任何更新的元件組態套用至目標，並包含定義為相依性的任何其他元件。您也可以複製現有的部署，以建立使用相同元件但部署到不同目標的新部署。部署是連續的，這表示您對元件所做的任何更新或部署的元件組態都會自動傳送至所有目的地目標。如需詳細資訊，請參閱[將 AWS IoT Greengrass 元件部署至裝置](manage-deployments.md)。

****AWS IoT Greengrass 核心軟體****  
從 2.14 版開始， AWS IoT Greengrass 提供其裝置執行期的兩種替代實作，稱為 核的可執行檔。第一個和先前唯一的核心是在 Java 中實作。此選項可在架構和作業系統之間提供最大的可攜性。不過，它也隨附對 Java 虛擬機器的相依性，導致大量的記憶體使用量。  
第二個新增的核是在 C 中實作。此選項可大幅減少其使用量。不過，它需要針對不同的目標架構和作業系統分別進行分佈 （或從來源編譯）。當需要區分兩者時，我們會將第一個實作稱為 *Greengrass 核，*後者稱為 *Greengrass 核精簡*。  
+ **選用元件**：這些可設定的元件由 提供， AWS IoT Greengrass 並在您的邊緣裝置上啟用其他功能。根據您的需求，您可以選擇要部署到裝置的選用元件，例如資料串流、本機機器學習推論或本機命令列界面。如需詳細資訊，請參閱[AWS提供的元件](public-components.md)。
您可以將新版本的元件部署到裝置，以升級您的 AWS IoT Greengrass Core 軟體。

## 的功能 AWS IoT Greengrass
<a name="components-and-features"></a>

AWS IoT Greengrass Version 2 包含下列元素：
+ **軟體分佈**
  + [Greengrass 核元件](greengrass-nucleus-component.md)，這是 AWS IoT Greengrass Core 軟體的最低安裝量。此元件可管理 Greengrass 元件的部署、協同運作和生命週期管理。
  + 其他選用 [AWS提供的元件](public-components.md)，可與 服務、通訊協定和軟體整合。
  + [Greengrass 開發工具](greengrass-development-tools.md)，可用來建立、測試、建置、發佈和部署自訂 Greengrass 元件。
  +  AWS IoT Device SDK包含自訂 Greengrass 元件的[處理程序間通訊 (IPC) 程式庫](interprocess-communication.md)，以及用戶端裝置的 [Greengrass 探索程式庫](greengrass-discover-api.md)。
  + 串流管理員 SDK，可用來[管理核心裝置上的資料串流](manage-data-streams.md)。
+ **雲端服務**
  + AWS IoT Greengrass V2 API
  + AWS IoT Greengrass V2 主控台

### AWS IoT Greengrass 核心軟體
<a name="greengrass-core-software"></a>

您可以使用在邊緣裝置上執行 AWS IoT Greengrass 的核心軟體來執行下列動作：
+ 在本機裝置上處理資料串流，並自動匯出至 AWS 雲端。如需詳細資訊，請參閱[管理 Greengrass 核心裝置上的資料串流](manage-data-streams.md)。
+ 支援 AWS IoT 和 元件之間的 MQTT 訊息。如需詳細資訊，請參閱[發佈/訂閱 AWS IoT Core MQTT 訊息](ipc-iot-core-mqtt.md)。
+ 與透過 MQTT 連線和通訊的本機裝置互動。如需詳細資訊，請參閱[與本機 IoT 裝置互動](interact-with-local-iot-devices.md)。
+ 支援元件之間的本機發佈和訂閱訊息。如需詳細資訊，請參閱[發佈/訂閱本機訊息](ipc-publish-subscribe.md)。
+ 部署和叫用元件和 Lambda 函數。如需詳細資訊，請參閱[將 AWS IoT Greengrass 元件部署至裝置](manage-deployments.md)。
+ 管理元件生命週期，例如支援安裝和執行指令碼。如需詳細資訊，請參閱[AWS IoT Greengrass 元件配方參考](component-recipe-reference.md)。
+ 執行 AWS IoT Greengrass Core 軟體和自訂元件的安全over-the-air (OTA) 軟體更新。如需詳細資訊，請參閱[更新 AWS IoT Greengrass 核心軟體 (OTA)](update-greengrass-core-v2.md)及[將 AWS IoT Greengrass 元件部署至裝置](manage-deployments.md)。
+ 提供安全、加密的本機秘密儲存，以及由 元件控制的存取。如需詳細資訊，請參閱[秘密管理員](secret-manager-component.md)。
+ 使用裝置身分驗證和授權保護裝置與 AWS 雲端之間的連線。如需詳細資訊，請參閱[的裝置身分驗證和授權 AWS IoT Greengrass](device-auth.md)。

您可以透過 AWS IoT Greengrass APIs來設定和管理 Greengrass 核心裝置，並在其中建立持續的軟體部署。如需詳細資訊，請參閱[將 AWS IoT Greengrass 元件部署至裝置](manage-deployments.md)。

某些功能僅支援特定平台。如需詳細資訊，請參閱[Greengrass 功能相容性](operating-system-feature-support-matrix.md)。

如需支援平台、需求和下載的詳細資訊，請參閱 [設定 AWS IoT Greengrass 核心裝置](setting-up.md)。

<a name="core-software-license"></a>下載此軟體，即表示您同意 [Greengrass 核心軟體授權合約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)之規定。

# Greengrass 功能相容性
<a name="operating-system-feature-support-matrix"></a>

AWS IoT Greengrass 支援執行各種作業系統的裝置。某些功能僅支援特定作業系統。使用下表了解每個支援的作業系統可使用哪些功能。如需支援的作業系統、需求以及如何設定 Greengrass 核心裝置的詳細資訊，請參閱 [設定 AWS IoT Greengrass 核心裝置](setting-up.md)。


**簡訊**  

| 功能 | Linux | Windows | Greengrass Nucleus Lite (Linux) | 
| --- | --- | --- | --- | 
|  在 AWS IoT 和 元件之間交換 MQTT 訊息  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是  (MQTT5 擴充功能除外） | 
|  在元件之間交換本機發佈/訂閱訊息  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  透過 MQTT 與本機 IoT 裝置互動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 Modbus-RTU 元件與本機 Modbus-RTU 裝置互動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 


**安全**  

| 功能 | Linux | Windows | Greengrass lite (Linux) | 
| --- | --- | --- | --- | 
|  使用裝置身分驗證和授權保護連線  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  從 部署和存取安全、加密的秘密 AWS Secrets Manager  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用硬體安全模組 (HSM) 安全地存放裝置的私有金鑰和憑證  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  [是](gg-lite-with-tpm-tutorial.md)  | 
|  使用 稽核核心裝置 AWS IoT Device Defender  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 AWS 登入資料與 AWS 服務互動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 


**安裝**  

| 功能 | Linux | Windows | Greengrass lite (Linux) | 
| --- | --- | --- | --- | 
|   AWS IoT Greengrass 使用自動佈建安裝  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|   AWS IoT Greengrass 使用手動佈建安裝  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|   AWS IoT Greengrass 使用 AWS IoT 機群佈建安裝  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|   AWS IoT Greengrass 使用自訂佈建安裝  |  [是](https://docs.aws.amazon.com//greengrass/v2/developerguide/custom-provisioning.html)  |  [是](https://docs.aws.amazon.com//greengrass/v2/developerguide/custom-provisioning.html)  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用預先建置的 Docker 映像 AWS IoT Greengrass 在 Docker 容器中執行  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 

**注意**  
AWS IoT Greengrass 可以在已啟用系統的 Docker 容器中安裝和執行。


**遠端維護和更新**  

| 功能 | Linux | Windows | Greengass lite (Linux) | 
| --- | --- | --- | --- | 
|  執行安全的over-the-air(OTA) 軟體更新  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用 管理核心裝置 AWS Systems Manager  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 AWS IoT 安全通道連線至核心裝置  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 


**機器學習**  

| 功能 | Linux | Windows | Greengrass lite (Linux) | 
| --- | --- | --- | --- | 
|  使用 Amazon SageMaker AI Edge Manager 執行機器學習推論  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 Amazon Lookout for Vision 執行機器學習推論  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 DLR 執行機器學習推論  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 TensorFlow 執行機器學習推論  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 


**元件功能**  

| 功能 | Linux | Windows | Greengrass lite (Linux) | 
| --- | --- | --- | --- | 
|  部署和叫用 Lambda 函數  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  在元件中執行 Docker 容器  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用串流管理員處理和匯出大量資料串流  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用生命週期指令碼管理元件生命週期  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  與裝置陰影互動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  將日誌上傳至 Amazon CloudWatch Logs  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用 Amazon CloudWatch CloudWatch 指標  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用 Amazon SNS 元件將訊息發佈至 Amazon Simple Notification Service  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用串流管理員將資料發佈至 Amazon Kinesis Data Streams 交付串流  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用 Firehose 元件將資料發佈至 Amazon Data Firehose 交付串流  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  收集即時系統遙測指標並採取行動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  設定元件程序的系統資源限制  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  暫停和繼續元件程序  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|   AWS IoT SiteWise 使用 AWS IoT SiteWise 元件與 整合  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用 Kinesis Video Streams 元件的邊緣連接器，將影片串流發佈至 Amazon Kinesis Video Streams  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 


**元件開發**  

| 功能 | Linux | Windows | Greengrass lite (Linux) | 
| --- | --- | --- | --- | 
|  在核心裝置上於本機開發元件  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  使用 CLI AWS IoT Greengrass 與核心裝置互動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  使用本機偵錯主控台與核心裝置互動  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 
|  在自訂元件中使用 AWS IoT Device SDK for Python  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  在自訂元件中使用 AWS IoT Device SDK 適用於 C\$1\$1 的  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 
|  在自訂元件中使用 AWS IoT Device SDK 適用於 Java 的  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   | 


**裝置認證**  

| 功能 | Linux | Windows | Greengrass lite (Linux) | 
| --- | --- | --- | --- | 
|  使用 AWS IoT Device Tester AWS IoT Greengrass V2 來驗證 IoT 裝置  |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-yes-para"></a> ![\[Yes\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-yes.png) 是   |  <a name="polaris-no-para"></a> ![\[No\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/images/icon-no.png) 否   | 

# 選擇您的 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 nucleus lite
<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>

如 AWS IoT Greengrass v2.14.0 中所包含，Greengrass nucleus lite (v.2.0.0) 執行期提供 Greengrass nucleus (v2.14.0) 可用的功能子集。

 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  | 目前無法使用 | 