

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: コンポーネントの更新を延期する Greengrass コンポーネントを開発する
<a name="defer-component-updates-tutorial"></a>

このチュートリアルを完了すると、無線デプロイによる更新を延期するコンポーネントを開発することができます。デバイスに更新をデプロイするときに、次のような条件に基づいて更新を遅らせる必要が生じる場合があります。
+ デバイスのバッテリー残量が少ない。
+ デバイスが中断できないプロセスかジョブを実行中である。
+ デバイスのインターネット接続が制限されているか、コストが高い。

**注記**  
*コンポーネント*は、 AWS IoT Greengrass コアデバイスで実行されるソフトウェアモジュールです。コンポーネントを使用すると、複雑なアプリケーションを個別のビルディングブロックとして作成し管理することができ、Greengrass コアデバイス間で再利用することができます。

このチュートリアルでは、以下の作業を行います。

1. Greengrass Development Kit 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 nucleus、その他のコンポーネント、および と通信します。 AWS IoT CoreGreengrass nucleus、他のコンポーネント、および と通信する AWS IoT Core](interprocess-communication.md)
+ [AWS IoT Greengrass Development Kit Command-Line Interface](greengrass-development-kit-cli.md)