チュートリアル: コンポーネントの更新を延期する Greengrass コンポーネントを開発する
このチュートリアルを完了すると、無線デプロイによる更新を延期するコンポーネントを開発することができます。デバイスに更新をデプロイするときに、次のような条件に基づいて更新を遅らせる必要が生じる場合があります。
-
デバイスのバッテリー残量が少ない。
-
デバイスが中断できないプロセスかジョブを実行中である。
-
デバイスのインターネット接続が制限されているか、コストが高い。
注記
コンポーネントとは、AWS IoT Greengrass コアデバイスで実行されるソフトウェアモジュールです。コンポーネントを使用すると、複雑なアプリケーションを個別のビルディングブロックとして作成し管理することができ、Greengrass コアデバイス間で再利用することができます。
このチュートリアルでは、以下の作業を行います。
-
Greengrass Development Kit CLI (GDK CLI) を開発用コンピュータにインストールします。GDK CLI は、カスタムGreengrass コンポーネントの開発に役立つ機能を提供します。
-
コアデバイスのバッテリレベルがしきい値を下回ったときに、コンポーネントの更新を延期する Hello World コンポーネントを開発します。このコンポーネントは、SubscribeToComponentUpdates IPC 操作を使用して更新通知にサブスクライブします。通知を受信すると、バッテリ残量がカスタマイズ可能なしきい値より低いかどうかを確認します。バッテリー残量がしきい値を下回っている場合は、DeferComponentUpdate IPC 操作を使用して、更新を 30 秒間遅らせます。このコンポーネントは、GDK CLI を使用して開発用コンピュータで開発します。
注記
このコンポーネントは、実際のバッテリを模倣するために、コアデバイスで作成したファイルからバッテリレベルを読み取ります。そのため、このチュートリアルはバッテリのないコアデバイスでも実行できます。
-
このコンポーネントを AWS IoT Greengrass サービスにパブリッシュします。
-
このコンポーネントを、AWS クラウド からテスト先となる Greengrass コアデバイスにデプロイします。次に、コアデバイスの仮想バッテリレベルを変更し、別のデプロイを作成して、バッテリレベルが低いときにコアデバイスが更新を延期する様子を確認します。
このチュートリアルは 20~30 分を要します。
これで、このチュートリアルは終了です。Hello World コンポーネントが、コアデバイスのバッテリ残量に基づいて更新を延期または承認します。このチュートリアルで説明しているトピックの詳細については、以下を参照してください。