

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

# 教學課程：開發可延遲元件更新的 Greengrass 元件
<a name="defer-component-updates-tutorial"></a>

您可以完成本教學課程，以開發延遲over-the-air部署更新的元件。當您部署更新至裝置時，您可能會想要根據條件延遲更新，例如下列項目：
+ 裝置電池電量低。
+ 裝置正在執行無法中斷的程序或任務。
+ 裝置具有有限或昂貴的網際網路連線。

**注意**  
*元件*是在 AWS IoT Greengrass 核心裝置上執行的軟體模組。元件可讓您將複雜的應用程式建立和管理為分散的建置區塊，以便從一個 Greengrass 核心裝置重複使用。

在此教學課程中，您將執行下列操作：

1. 在開發電腦上安裝 Greengrass 開發套件 CLI (GDK CLI)。GDK CLI 提供可協助您開發自訂 Greengrass 元件的功能。

1. 開發 Hello World 元件，在核心裝置的電池電量低於閾值時延遲元件更新。此元件訂閱使用 [SubscribeToComponentUpdates](ipc-component-lifecycle.md#ipc-operation-subscribetocomponentupdates) IPC 操作來更新通知。收到通知時，它會檢查電池電量是否低於可自訂的閾值。如果電池電量低於閾值，則會使用 [DeferComponentUpdate](ipc-component-lifecycle.md#ipc-operation-defercomponentupdate) IPC 操作將更新延遲 30 秒。您可以使用 GDK CLI 在開發電腦上開發此元件。
**注意**  
此元件會從您在核心裝置上建立的檔案讀取電池電量，以模擬真正的電池，因此您可以在核心裝置上完成此教學課程，而無需電池。

1. 將該元件發佈至 AWS IoT Greengrass 服務。

1. 將該元件從 部署 AWS 雲端 到 Greengrass 核心裝置以進行測試。然後，您可以修改核心裝置上的虛擬電池電量，並建立其他部署，以查看核心裝置在電池電量低時如何延遲更新。

您可以預期在本教學課程中花費 20-30 分鐘。

您已完成本教學課程。Hello World 元件會根據核心裝置的電池電量延遲或認可更新。如需本教學課程探索主題的詳細資訊，請參閱以下內容：
+ [開發 AWS IoT Greengrass 元件](develop-greengrass-components.md)
+ [將 AWS IoT Greengrass 元件部署至裝置](manage-deployments.md)
+ [使用 AWS IoT Device SDK 與 Greengrass 核、其他元件和 通訊 AWS IoT Core與 Greengrass 核、其他元件和 通訊 AWS IoT Core](interprocess-communication.md)
+ [AWS IoT Greengrass 開發套件命令列介面](greengrass-development-kit-cli.md)