翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 4: デバイス上でコンポーネントをデプロイしてテストする
このセクションでは、コンポーネントをコアデバイスにデプロイして、その機能をテストします。コアデバイスでは、実際のバッテリーを模倣する仮想バッテリレベルファイルを作成します。次に、別のデプロイを作成し、コアデバイス上のコンポーネントログファイルを確認して、コンポーネントの更新の延期と承認を確認します。
更新を延期する Hello World コンポーネントをデプロイしてテストするには
-
テキストエディタを使用して、仮想バッテリレベルファイルを作成します。このファイルは実際のバッテリーを模倣しています。
-
Linux コアデバイスの場合は、
/home/ggc_user/virtual_battery.json
という名前のファイルを作成します。sudo
の権限でテキストエディタを実行します。 -
Windows コアデバイスの場合は、
C:\Users\ggc_user\virtual_battery.json
という名前のファイルを作成します。管理者としてテキストエディタを実行します。
例えば、Linux ベースのシステムでは、次のコマンドを実行し、GNU nano を使用してファイルを作成できます。
sudo nano /home/ggc_user/virtual_battery.json
次の JSON をファイルにコピーします。
{ "battery_level": 50 }
-
-
Hello World コンポーネントをコアデバイスにデプロイします。以下の操作を実行します。
-
AWS IoT Greengrass コンソール
のナビゲーションメニューで、[Components] (コンポーネント) を選択します。 -
[Components] (コンポーネント) ページで、[My components] (マイコンポーネント) タブを選択し、次に com.example.BatteryAwareHelloWorld を選択します。
-
com.example.BatteryAwareHelloWorld ページで、[Deploy] (デプロイ) を選択します。
-
[Add to deployment] (デプロイに追加) で、改訂する既存のデプロイを選択するか、新しいデプロイを作成することを選択して、[Next] (次へ) を選択します。
-
新しいデプロイの作成を選択した場合、デプロイのターゲットコアデバイスまたはモノグループを選択します。リポジトリの [Specify target] (ターゲットを指定) ページの、[Deployment target] (ターゲットのデプロイ) で、コアデバイスまたはモノグループを選択し、[Next] (次へ) を選択します。
-
[Select components] (コンポーネントを選択) ページで、com.example.BatteryAwareHelloWorld コンポーネントが選択されていることを確認し、[Next] (次) を選択します。
-
[Configure components] (コンポーネントを設定) ページで、com.example.BatteryAwareHelloWorld を選択したら、次の操作を行います。
-
[Configure component] (コンポーネントを設定) を選択します。
-
[com.example.BatteryAwareHelloWorld の設定] モーダルの [設定の更新] の下にある [マージする設定] に、次の設定更新を入力します。
{ "BatteryThreshold": 70 }
-
[Confirm] (確認) を選択してモーダルを閉じ、次に [Next] (次) を選択します。
-
-
[Confirm advanced settings] (詳細設定の確認) ページ内の [Deployment policies] (デプロイポリシー) セクションにある [Component update policy] (コンポーネントの更新ポリシー) で、[Notify components] (コンポーネントに通知) が選択されていることを確認します。新しいデプロイを作成するときにには、[Notify components] (コンポーネントに通知) がデフォルトで選択されています。
-
[Review] ページで、[デプロイ] を選択します。
デプロイに最大 1 分かかる場合があります。
-
-
AWS IoT Greengrass Core ソフトウェアは、コンポーネントプロセスからの標準出力を
logs
フォルダのログファイルに保存します。次のコマンドを実行し、Hello World コンポーネントが実行され、ステータスメッセージが表示されることを確認します。次の例に示すようなメッセージが表示されます。
Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
注記
ファイルが存在しない場合、デプロイがまだ完了していない可能性があります。ファイルが 30 秒以内に表示されない場合は、デプロイが失敗している可能性があります。これは、コアデバイスに S3 バケットからコンポーネントのアーティファクトをダウンロードする権限がない場合などに発生します。次のコマンドを実行して、AWS IoT Greengrass Core ソフトウェアのログファイルを確認します。このファイルは、Greengrass コアデバイスのデプロイサービスからのログが含まれます。
-
コアデバイスへの新しいデプロイを作成し、コンポーネントが更新を延期していることを確認します。以下の操作を実行します。
-
AWS IoT Greengrass コンソール
のナビゲーションメニューで、[Deployments] (デプロイ) を選択します。 -
前のステップで、作成したか、修正したデプロイを選択します。
-
[deployment] (デプロイ) ページで、[Revise] (修正) を選択します。
-
[Revise deployment] (デプロイの改訂) モーダルで、[Revise deployment] (デプロイの改訂) を選択します。
-
それぞれのステップで [Next] (次) を選んでから、[Deploy] (デプロイ) を選択します。
-
-
次のコマンドを実行して、コンポーネントのログを再度表示し、更新が延期されていることを確認します。
次の例に示すようなメッセージが表示されます。コンポーネントは更新を 30 秒間延期するため、コンポーネントはこのメッセージを繰り返し出力します。
Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
-
テキストエディタを使用して仮想バッテリ残量ファイルを編集し、バッテリレベルをしきい値を超える値に変更して、デプロイが続行されるようにします。
-
Linux コアデバイスの場合は、
/home/ggc_user/virtual_battery.json
という名前のファイルを編集します。sudo
の権限でテキストエディタを実行します。 -
Windows コアデバイスの場合は、
C:\Users\ggc_user\virtual_battery.json
という名前のファイルを編集します。管理者としてテキストエディタを実行します。
例えば、Linux ベースのシステムでは、次のコマンドを実行し、GNU nano を使用してファイルを作成できます。
sudo nano /home/ggc_user/virtual_battery.json
バッテリー残量を
80
に変更します。{ "battery_level": 80 }
-
-
次のコマンドを実行して、コンポーネントのログを再度表示し、更新が承認されていることを確認します。
次の例に示されているようなメッセージが表示されます。
Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates. Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.