ジョブの実行 - AWS IoT Core

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

ジョブの実行

「デバイスはジョブの実行を完了できます」

このテストケースは、 AWS IoT デバイスがジョブを使用してアップデートを受信できるかどうかを検証し、アップデートが成功したかどうかを公開するのに役立ちます。 AWS IoT ジョブについて詳しくは、「ジョブ」を参照してください。

このテストケースを正常に実行するには、 AWS デバイスロールを付与する必要があるトピックが 2 つあります。ジョブアクティビティ関連のメッセージをサブスクライブするには、notify および notify-next トピックを使用します。デバイスロールは、次のトピックで PUBLISH アクションを付与する必要があります。

  • $aws/things/thingName/jobs/jobId/get

  • $aws/things/thingName/jobs/jobId/update

次のトピックで SUBSCRIBE アクションと RECEIVE アクションを付与することをお勧めします。

  • $aws/things/thingName/jobs/get/accepted

  • $aws/things/thingName/jobs/jobId/get/rejected

  • $aws/things/thingName/jobs/jobId/update/accepted

  • $aws/things/thingName/jobs/jobId/update/rejected

次のトピックについては、SUBSCRIBE アクションを許可することをお勧めします。

  • $aws/things/thingName/jobs/notify-next

これらの予約トピックの詳細については、「AWS IoT ジョブ」で予約トピックについて参照してください。

MQTT over WebSocket は現時点ではサポートされていません。

API テストケースの定義:

注記

EXECUTION_TIMEOUTのデフォルト値は 5 分です。タイムアウト値は 3 分とすることを推奨します。 AWS IoT 提供されたJob ドキュメントまたはソースに応じて、タイムアウト値を調整します (たとえば、ジョブの実行に時間がかかる場合は、テストケースにより長いタイムアウト値を定義します)。テストを実行するには、 AWS IoT 有効なジョブドキュメントまたは既存のJob ID が必要です。 AWS IoT Job ドキュメントは JSON ドキュメントまたは S3 リンクとして提供できます。ジョブドキュメントが提供されている場合、ジョブ ID の提供は任意です。Job ID が提供された場合、Device Advisor AWS IoT はユーザーに代わってジョブを作成する際にその ID を使用します。ジョブドキュメントが提供されていない場合は、テストケースを実行しているのと同じリージョンにある既存の ID を提供できます。この場合、Device Advisor AWS IoT はテストケースの実行中にそのJob を使用します。

"tests": [ { "name":"my_job_execution", "configuration": { // optional: // Test case will create a job task by using either JOB_DOCUMENT or JOB_DOCUMENT_SOURCE. // If you manage the job task on your own, leave it empty and provide the JOB_JOBID (self-managed job task). // JOB_DOCUMENT is a JSON formatted string "JOB_DOCUMENT": "{ \"operation\":\"reboot\", \"files\" : { \"fileName\" : \"install.py\", \"url\" : \"${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket-name/key}\" } }", // JOB_DOCUMENT_SOURCE is an S3 link to the job document. It will be used only if JOB_DOCUMENT is not provided. "JOB_DOCUMENT_SOURCE": "https://s3.amazonaws.com/bucket-name/key", // JOB_JOBID is mandatory, only if neither document nor document source is provided. (Test case needs to know the self-managed job task id). "JOB_JOBID": "String", // JOB_PRESIGN_ROLE_ARN is used for the presign Url, which will replace the placeholder in the JOB_DOCUMENT field "JOB_PRESIGN_ROLE_ARN": "String", // Presigned Url expiration time. It must be between 60 and 3600 seconds, with the default value being 3600. "JOB_PRESIGN_EXPIRES_IN_SEC": "Long" "EXECUTION_TIMEOUT": "300", // in seconds }, "test": { "id": "Job_Execution", "version": "0.0.0" } } ]

ジョブドキュメントの作成および使用の詳細については、「ジョブドキュメント」を参照してください。