AWS IoT jobs とは?
AWS IoT Jobs を使用して、AWS IoT に接続された 1 つ以上のデバイスに送信され、そこで実行される一連のリモートオペレーションを定義できます。
ジョブを作成するには、まず、デバイスがリモートで実行する必要があるオペレーションに関する指示のリストを含むジョブドキュメントを定義します。これらのオペレーションを実行するには、ターゲットのリストを指定します。ターゲットとは、個々のモノか、モノのグループか、またはその両方です。ジョブドキュメントとターゲットが一緒になって、デプロイを構成します。
各デプロイには、次の設定を追加できます。
-
ロールアウト: この設定では、毎分ジョブドキュメントを受信するデバイスの数を定義します。
-
中止: 特定の数のデバイスがジョブ通知を受信しない場合、この設定を使用してジョブをキャンセルします。これにより、フリート全体に不適切なアップデートが送信されるのを防ぐことができます。
-
タイムアウト: 特定の期間内にジョブターゲットから応答が受信されない場合、ジョブが失敗する可能性があります。これらのデバイスで実行されているジョブを追跡できます。
-
再試行: デバイスが失敗を報告したり、ジョブがタイムアウトした場合は、AWS IoT ジョブ は、ジョブドキュメントをデバイスに自動的に再送します。
-
スケジューリング: この設定では、将来の日付と時間にジョブをスケジューリングできます。また、事前に定義したトラフィックの少ない期間にデバイスを更新する定期的なメンテナンスウィンドウを作成することもできます。
AWS IoT ジョブは、ジョブが利用可能であることをターゲットに通知するメッセージを送信します。ターゲットは、ジョブ文書をダウンロードし、指定された操作を実行し、進行状況を に報告することによって、ジョブの実行AWS IoTを開始します。AWS IoT Jobs が提供するコマンドを実行して、特定のターゲットのジョブまたはすべてのターゲットのジョブの進行状況を追跡できます。ジョブが開始されると、ステータスは、[In progress] (進行中) になります。その後、デバイスは、ジョブが成功、失敗、またはタイムアウトするまで、このステータスを表示しながら変化分の更新を報告します。
次のトピックでは、ジョブの主要な概念と、ジョブとジョブ実行のライフサイクルについて説明します。