ジョブデバイス MQTT API - AWS IoT Core

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

ジョブデバイス MQTT API

デバイスは、ポート 443 で HTTP 署名バージョン 4 を使用して AWS IoT Jobs と通信できます。これは、AWS SDK と CLI で使用されるメソッドです。これらのツールの詳細については、「AWS CLI コマンドリファレンス: iot-jobs-data」または「AWS SDK とツール」を参照してください。

ジョブを実行するデバイスでは、次のコマンドを使用できます。MQTT プロトコルでの API オペレーションの使用方法については、「ジョブデバイス MQTT API オペレーション」を参照してください。

特定のモノについて、ターミナル状態にないすべてのジョブのリストを取得します。

HTTPS request
GET /things/thingName/jobs

レスポンス:

{ "inProgressJobs" : [ JobExecutionSummary ... ], "queuedJobs" : [ JobExecutionSummary ... ] }

詳細については、「GetPendingJobExecutions」を参照してください。

CLI syntax
aws iot-jobs-data get-pending-job-executions \ --thing-name <value> \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 形式:

{ "thingName": "string" }

詳細については、「get-pending-job-executions」を参照してください。

モノ (ステータスが IN_PROGRESS または QUEUED のもの) に対する次の保留中のジョブ実行を取得し、開始します。

  • ステータスが IN_PROGRESS のジョブの実行が最初に返されます。

  • ジョブの実行は、作成された順に返されます。

  • 次の保留中のジョブの実行が QUEUED の場合、そのステータスは IN_PROGRESS に変更され、ジョブの実行のステータスの詳細は指定どおりに設定されます。

  • 次の保留中のジョブの実行がすでに IN_PROGRESS である場合、そのステータスの詳細は変更されません。

  • 保留中のジョブの実行がない場合、レスポンスに execution フィールドは含まれません。

  • オプションで、stepTimeoutInMinutes プロパティの値を設定してステップタイマーを作成できます。UpdateJobExecution を実行してこのプロパティの値を更新しない場合、ステップタイマーが時間切れになると、ジョブの実行がタイムアウトになります。

HTTPS request

以下に構文例を示します。

PUT /things/thingName/jobs/$next { "statusDetails": { "string": "string" ... }, "stepTimeoutInMinutes": long }

詳細については、「StartNextPendingJobExecution」を参照してください。

CLI syntax

概要:

aws iot-jobs-data start-next-pending-job-execution \ --thing-name <value> \ {--step-timeout-in-minutes <value>] \ [--status-details <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 形式:

{ "thingName": "string", "statusDetails": { "string": "string" }, "stepTimeoutInMinutes": long }

詳細については、「start-next-pending-job-execution」を参照してください。

ジョブの実行に関する詳細情報を取得します。

jobId$next に設定して、モノに対して保留中の次のジョブ実行を返すことができます。ジョブの実行ステータスは、QUEUED または IN_PROGRESS である必要があります。

HTTPS request

リクエスト:

GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument

レスポンス:

{ "execution" : JobExecution, }

詳細については、「DescribeJobExecution」を参照してください。

CLI syntax

概要:

aws iot-jobs-data describe-job-execution \ --job-id <value> \ --thing-name <value> \ [--include-job-document | --no-include-job-document] \ [--execution-number <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 形式:

{ "jobId": "string", "thingName": "string", "includeJobDocument": boolean, "executionNumber": long }

詳細については、「describe-job-execution」を参照してください。

ジョブ実行のステータスを更新します。オプションで、stepTimeoutInMinutes プロパティの値を設定してステップタイマーを作成できます。UpdateJobExecution を再び実行してこのプロパティの値を更新しない場合、ステップタイマーが時間切れになると、ジョブの実行がタイムアウトになります。

HTTPS request

リクエスト:

POST /things/thingName/jobs/jobId { "status": "job-execution-state", "statusDetails": { "string": "string" ... }, "expectedVersion": "number", "includeJobExecutionState": boolean, "includeJobDocument": boolean, "stepTimeoutInMinutes": long, "executionNumber": long }

詳細については、「UpdateJobExecution」を参照してください。

CLI syntax

概要:

aws iot-jobs-data update-job-execution \ --job-id <value> \ --thing-name <value> \ --status <value> \ [--status-details <value>] \ [--expected-version <value>] \ [--include-job-execution-state | --no-include-job-execution-state] \ [--include-job-document | --no-include-job-document] \ [--execution-number <value>] \ [--cli-input-json <value>] \ [--step-timeout-in-minutes <value>] \ [--generate-cli-skeleton]

cli-input-json 形式:

{ "jobId": "string", "thingName": "string", "status": "string", "statusDetails": { "string": "string" }, "stepTimeoutInMinutes": number, "expectedVersion": long, "includeJobExecutionState": boolean, "includeJobDocument": boolean, "executionNumber": long }

詳細については、「update-job-execution」を参照してください。