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

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

ジョブデバイス MQTT/HTTPS API

次のコマンドは、MQTT および HTTPS プロトコル経由で利用できます。

注記

ジョブデバイスコマンドは、MQTT メッセージをジョブコマンドで使用される予約済みトピック。クライアントはこれらのコマンドの応答メッセージトピックに自動的にサブスクライブされます。つまり、クライアントが応答メッセージトピックをサブスクライブしているかどうかにかかわらず、メッセージブローカーはコマンドメッセージをパブリッシュしたクライアントに応答メッセージトピックを公開します。

メッセージブローカーは応答メッセージを公開するため、明示的なサブスクリプションがない場合でも、クライアントは受信したメッセージを受信して識別するように設定する必要があります。クライアントはまた、thingName は、クライアントがメッセージを処理する前に、クライアントの Thing 名に適用されます。

MQTT Jobs API コマンドメッセージに応答して AWS IoT が送信するメッセージは、明示的にサブスクライブしているかどうかにかかわらず、アカウントに課金されます。

GetPendingJobExecutions

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

注記

AWS IoT は、クライアントが応答トピックにサブスクライブしているかどうかにかかわらず、応答メッセージをリクエストしたクライアントに直接発行します。クライアントは、サブスクライブしていない場合でも、応答メッセージを受信することを期待する必要があります。これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントやルールによってサブスクライブすることはできません。

メッセージブローカーを介して処理され、AWS IoT ルールで使用できるJob 進行状況メッセージはジョブイベント

MQTT (12)

この API を呼び出すには、$aws/things/thingName/jobs/get にメッセージを公開します。

リクエストペイロード:

{ "clientToken": "string" }
clientToken

省略可能。リクエストとレスポンスを相関させるために使用されるクライアントトークン。ここに任意の値を入力すると、レスポンスに反映されます。

メッセージブローカーは$aws/things/thingName/jobs/get/acceptedおよび$aws/things/thingName/jobs/get/rejectedさらにそれらに特定のサブスクリプションなしで。ただし、クライアントがメッセージを受信するには、クライアントがそのメッセージを受信している必要があります。詳細については、「」を参照してください。ジョブ API メッセージに関する注意事項

レスポンスペイロード:

{ "inProgressJobs" : [ JobExecutionSummary ... ], "queuedJobs" : [ JobExecutionSummary ... ], "timestamp" : 1489096425069, "clientToken" : "client-001" }
inProgressJobs

JobExecutionSummary ステータスの IN_PROGRESS オブジェクトのリスト

queuedJobs

JobExecutionSummary ステータスの QUEUED オブジェクトのリスト

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。

timestamp

メッセージが送信されたときの、エポックからの秒単位の時間。

HTTPS (12)

リクエスト:

GET /things/thingName/jobs
thingName

デバイスに関連付けられたモノの名前。

レスポンス:

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

JobExecutionSummary オブジェクトのリスト。

queuedJobs

JobExecutionSummary オブジェクトのリスト。

CLI (12)

概要:

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

cli-input-json 形式:

{ "thingName": "string" }
cli-input-json フィールド:

名前

タイプ

説明

thingName

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

ジョブを実行しているモノの名前。

出力:

{ "inProgressJobs": [ { "jobId": "string", "queuedAt": long, "startedAt": long, "lastUpdatedAt": long, "versionNumber": long, "executionNumber": long } ], "queuedJobs": [ { "jobId": "string", "queuedAt": long, "startedAt": long, "lastUpdatedAt": long, "versionNumber": long, "executionNumber": long } ] }
CLI 出力フィールド:

名前

タイプ

説明

inProgressJobs

リスト

メンバー: JobExecutionSummary

java class: java.util.List

ステータスが IN_PROGRESS の JobExecutionSummary オブジェクトのリスト。

JobExecutionSummary

JobExecutionSummary

jobId

文字列

最長: 64 length min:1

pattern: [a-zA-Z0-9_-]+

作成時にこのジョブに割り当てた一意の識別子。

queuedAt

long

ジョブ実行がキューに追加されたときの、エポックからの秒単位の時間。

startedAt

long

java class: java.lang.Long

ジョブ実行が開始されたときの、エポックからの秒単位の時間。

lastUpdatedAt

long

ジョブ実行が最後に更新されたときの、エポックからの秒単位の時間。

versionNumber

long

ジョブ実行のバージョン。Job 実行バージョンは、AWS IoT ジョブサービスがデバイスから更新を受信するたびに増分されます。

executionNumber

long

java class: java.lang.Long

デバイスでジョブの実行を識別する番号。

queuedJobs

リスト

メンバー: JobExecutionSummary

java class: java.util.List

ステータスが QUEUED の JobExecutionSummary オブジェクトのリスト。

JobExecutionSummary

JobExecutionSummary

jobId

文字列

最長: 64 length min:1

pattern: [a-zA-Z0-9_-]+

作成時にこのジョブに割り当てた一意の識別子。

queuedAt

long

ジョブ実行がキューに追加されたときの、エポックからの秒単位の時間。

startedAt

long

java class: java.lang.Long

ジョブ実行が開始されたときの、エポックからの秒単位の時間。

lastUpdatedAt

long

ジョブ実行が最後に更新されたときの、エポックからの秒単位の時間。

versionNumber

long

ジョブ実行のバージョン。Job 実行バージョンは、AWS IoT ジョブサービスがデバイスから更新を受信するたびに増分されます。

executionNumber

long

java class: java.lang.Long

デバイスでジョブの実行を識別する番号。

StartNextPendingJobExecution

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

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

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

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

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

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

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

注記

AWS IoT は、クライアントが応答トピックにサブスクライブしているかどうかにかかわらず、応答メッセージをリクエストしたクライアントに直接発行します。クライアントは、サブスクライブしていない場合でも、応答メッセージを受信することを期待する必要があります。これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントやルールによってサブスクライブすることはできません。

メッセージブローカーを介して処理され、AWS IoT ルールで使用できるJob 進行状況メッセージはジョブイベント

MQTT (13)

この API を呼び出すには、$aws/things/thingName/jobs/start-next にメッセージを公開します。

リクエストペイロード:

{ "statusDetails": { "string": "job-execution-state" ... }, "stepTimeoutInMinutes": long, "clientToken": "string" }
statusDetails

ジョブ実行のステータスについて説明する名前と値のペアの集合。指定しない場合、statusDetails は変更されません。

stepTimeOutInMinutes

このデバイスがこのジョブの実行を終了する必要のある時間を指定します。このタイマーが時間切れになるか、再設定される (UpdateJobExecution を呼び出し、ステータスを IN_PROGRESS に設定して、stepTimeoutInMinutes フィールドで新しいタイムアウト値を指定する) までに、ジョブの実行ステータスが終了状態に設定されない場合、ジョブの実行ステータスは TIMED_OUT に設定されます。このタイムアウトを設定しても、ジョブの作成時に指定したジョブの実行タイムアウト (CreateJobtimeoutConfig フィールドを使用することにより) には影響を与えません。

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。ここに任意の値を入力すると、レスポンスに反映されます。

メッセージブローカーは$aws/things/thingName/jobs/start-next/acceptedおよび$aws/things/thingName/jobs/start-next/rejectedさらにそれらに特定のサブスクリプションなしで。ただし、クライアントがメッセージを受信するには、クライアントがそのメッセージを受信している必要があります。詳細については、「」を参照してください。ジョブ API メッセージに関する注意事項

レスポンスペイロード:

{ "execution" : JobExecutionData, "timestamp" : timestamp, "clientToken" : "string" }
execution

JobExecution オブジェクト。次に例を示します。

{ "execution" : { "jobId" : "022", "thingName" : "MyThing", "jobDocument" : "< contents of job document >", "status" : "IN_PROGRESS", "queuedAt" : 1489096123309, "lastUpdatedAt" : 1489096123309, "versionNumber" : 1, "executionNumber" : 1234567890 }, "clientToken" : "client-1", "timestamp" : 1489088524284, }
timestamp

メッセージがデバイスに送信されたときの、エポックからのミリ秒単位の時間。

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。

HTTPS (13)

リクエスト:

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

デバイスに関連付けられたモノの名前。

statusDetails

ジョブ実行のステータスについて説明する名前と値のペアの集合。指定しない場合、statusDetails は変更されません。

stepTimeOutInMinutes

このデバイスがこのジョブの実行を終了する必要のある時間を指定します。このタイマーが時間切れになるか、再設定される (UpdateJobExecution を呼び出し、ステータスを IN_PROGRESS に設定して、stepTimeoutInMinutes フィールドで新しいタイムアウト値を指定する) までに、ジョブの実行ステータスが終了状態に設定されない場合、ジョブの実行ステータスは TIMED_OUT に設定されます。このタイムアウトを設定しても、ジョブの作成時に指定したジョブの実行タイムアウト (CreateJobtimeoutConfig フィールドを使用することにより) には影響を与えません。

レスポンス:

{ "execution" : JobExecution }
execution

JobExecution オブジェクト。次に例を示します。

{ "execution" : { "jobId" : "022", "thingName" : "MyThing", "jobDocument" : "< contents of job document >", "status" : "IN_PROGRESS", "queuedAt" : 1489096123309, "lastUpdatedAt" : 1489096123309, "versionNumber" : 1, "executionNumber" : 1234567890 }, "clientToken" : "client-1", "timestamp" : 1489088524284, }
CLI (13)

概要:

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 }
cli-input-json フィールド:

名前

タイプ

説明

thingName

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

デバイスに関連付けられたモノの名前。

statusDetails

map

キー: DetailsKey

値: DetailsValue

ジョブ実行のステータスについて説明する名前と値のペアの集合。指定しない場合、statusDetails は変更されません。

stepTimeOutInMinutes

long

このデバイスがこのジョブの実行を終了する必要のある時間を指定します。このタイマーが時間切れになるか、再設定される (UpdateJobExecution を呼び出し、ステータスを IN_PROGRESS に設定して、stepTimeoutInMinutes フィールドで新しいタイムアウト値を指定する) までに、ジョブの実行ステータスが終了状態に設定されない場合、ジョブの実行ステータスは TIMED_OUT に設定されます。このタイムアウトを設定しても、ジョブの作成時に指定したジョブの実行タイムアウト (CreateJobtimeoutConfig フィールドを使用することにより) には影響を与えません。

DetailsKey

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

DetailsValue

文字列

最長: 1024 length min:1

pattern: [^\\p{C}]*+

出力:

{ "execution": { "jobId": "string", "thingName": "string", "status": "string", "statusDetails": { "string": "string" }, "queuedAt": long, "startedAt": long, "lastUpdatedAt": long, "versionNumber": long, "executionNumber": long, "jobDocument": "string" } }
CLI 出力フィールド:

名前

タイプ

説明

実行

JobExecution

JobExecution オブジェクト。

jobId

文字列

最長: 64 length min:1

pattern: [a-zA-Z0-9_-]+

作成時にこのジョブに割り当てた一意の識別子。

thingName

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

ジョブを実行しているモノの名前。

status

文字列

列挙値: QUEUED | IN_PROGRESS | 成功 | 失敗 | TEMED_OUT | 拒否 | 削除 | キャンセル

ジョブ実行のステータス。次のいずれかの値を指定できます。QUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUED

statusDetails

map

キー: DetailsKey

値: DetailsValue

ジョブ実行のステータスについて説明する名前と値のペアの集合。

DetailsKey

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

DetailsValue

文字列

最長: 1024 length min:1

pattern: [^\\p{C}]*+

queuedAt

long

ジョブ実行がキューに追加されたときの、エポックからの秒単位の時間。

startedAt

long

java class: java.lang.Long

ジョブ実行が開始されたときの、エポックからの秒単位の時間。

lastUpdatedAt

long

ジョブ実行が最後に更新されたときの、エポックからの秒単位の時間。

versionNumber

long

ジョブ実行のバージョン。ジョブ実行バージョンは、デバイスによって更新されるたびに増分されます。

executionNumber

long

java class: java.lang.Long

デバイスでジョブの実行を識別する番号。後でジョブ実行情報を返す、または更新するコマンドで使用できます。

jobDocument

文字列

length max:32768

ジョブドキュメントのコンテンツ。

DescribeJobExecution

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

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

MQTT (14)

この API を呼び出すには、$aws/things/thingName/jobs/jobId/get にメッセージを公開します。

リクエストペイロード:

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

デバイスに関連付けられたモノの名前。

jobId

作成時にこのジョブに割り当てた一意の識別子。

または、$next を使用して、モノに対する次の保留中の (IN_PROGRESS または QUEUED ステータス) ジョブの実行を返すことができます。この場合は、ステータスが IN_PROGRESS のジョブの実行が最初に返されます。ジョブの実行は、作成された順に返されます。

executionNumber

省略可能。デバイスでジョブの実行を識別する番号。指定しない場合、最新のジョブ実行が返されます。

includeJobDocument

省略可能。false に設定しない限り、レスポンスにはジョブドキュメントが含まれます。デフォルト: true

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。ここに任意の値を入力すると、レスポンスに反映されます。

メッセージブローカーは$aws/things/thingName/jobs/jobId/get/acceptedおよび$aws/things/thingName/jobs/jobId/get/rejectedさらにそれらに特定のサブスクリプションなしで。ただし、クライアントがメッセージを受信するには、クライアントがそのメッセージを受信している必要があります。詳細については、「」を参照してください。ジョブ API メッセージに関する注意事項

レスポンスペイロード:

{ "execution" : JobExecutionData, "timestamp": "timestamp", "clientToken": "string" }
execution

JobExecution オブジェクト。

timestamp

メッセージが送信されたときの、エポックからの秒単位の時間。

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。

HTTPS (14)

ジョブの実行ステータスは、QUEUED または IN_PROGRESS である必要があります。

リクエスト:

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

デバイスに関連付けられたモノの名前。

jobId

作成時にこのジョブに割り当てた一意の識別子。

または、$next を使用して、モノに対する次の保留中の (IN_PROGRESS または QUEUED ステータス) ジョブの実行を返すことができます。この場合は、ステータスが IN_PROGRESS のジョブの実行が最初に返されます。ジョブの実行は、作成された順に返されます。

includeJobDocument

省略可能。false に設定しない限り、レスポンスにはジョブドキュメントが含まれます。デフォルト: true

executionNumber

省略可能。デバイスでジョブの実行を識別する番号。指定しない場合、最新のジョブ実行が返されます。

レスポンス:

{ "execution" : JobExecution, }
execution

JobExecution オブジェクト。

CLI (14)

ジョブの実行ステータスは、QUEUED または IN_PROGRESS である必要があります。

概要:

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 }
cli-input-json フィールド:

名前

タイプ

説明

jobId

文字列

pattern: [a-zA-Z0-9_-]+|^$next

作成時にこのジョブに割り当てられた一意の識別子、またはモノに対して保留中の (IN_PROGRESS または QUEUED ステータスの) 次のジョブ実行を返す $next。この場合は、ステータスが IN_PROGRESS のジョブの実行が最初に返されます。ジョブの実行は、作成された順に返されます。

thingName

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

ジョブの実行が実行されているデバイスに関連付けられているモノの名前。

includeJobDocument

boolean

java class: java.lang.Boolean

省略可能。false に設定しない限り、レスポンスにはジョブドキュメントが含まれます。デフォルトは true です。

executionNumber

long

java class: java.lang.Long

省略可能。デバイスでジョブの実行を識別する番号。指定しない場合、最新のジョブ実行が返されます。

出力:

{ "execution": { "jobId": "string", "thingName": "string", "status": "string", "statusDetails": { "string": "string" }, "queuedAt": long, "startedAt": long, "lastUpdatedAt": long, "versionNumber": long, "executionNumber": long, "jobDocument": "string" } }
CLI 出力フィールド:

名前

タイプ

説明

実行

JobExecution

ジョブの実行に関するデータが含まれます。

jobId

文字列

最長: 64 length min:1

pattern: [a-zA-Z0-9_-]+

作成時にこのジョブに割り当てた一意の識別子。

thingName

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

ジョブを実行しているモノの名前。

status

文字列

列挙値: QUEUED | IN_PROGRESS | 成功 | 失敗 | TEMED_OUT | 拒否 | 削除 | キャンセル

ジョブ実行のステータス。次のいずれかの値を指定できます。QUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUED

statusDetails

map

キー: DetailsKey

値: DetailsValue

ジョブ実行のステータスについて説明する名前と値のペアの集合。

DetailsKey

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

DetailsValue

文字列

最長: 1024 length min:1

pattern: [^\\p{C}]*+

queuedAt

long

ジョブ実行がキューに追加されたときの、エポックからの秒単位の時間。

startedAt

long

java class: java.lang.Long

ジョブ実行が開始されたときの、エポックからの秒単位の時間。

lastUpdatedAt

long

ジョブ実行が最後に更新されたときの、エポックからの秒単位の時間。

versionNumber

long

ジョブ実行のバージョン。ジョブ実行バージョンは、デバイスによって更新されるたびに増分されます。

executionNumber

long

java class: java.lang.Long

デバイスでジョブの実行を識別する番号。後でジョブ実行情報を返す、または更新するコマンドで使用できます。

jobDocument

文字列

length max:32768

ジョブドキュメントのコンテンツ。

UpdateJobExecution

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

注記

AWS IoT は、クライアントが応答トピックにサブスクライブしているかどうかにかかわらず、応答メッセージをリクエストしたクライアントに直接発行します。クライアントは、サブスクライブしていない場合でも、応答メッセージを受信することを期待する必要があります。これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントやルールによってサブスクライブすることはできません。

メッセージブローカーを介して処理され、AWS IoT ルールで使用できるJob 進行状況メッセージはジョブイベント

MQTT (15)

この API を呼び出すには、$aws/things/thingName/jobs/jobId/update にメッセージを公開します。

リクエストペイロード:

{ "status": "job-execution-state", "statusDetails": { "string": "string" ... }, "expectedVersion": "number", "executionNumber": long, "includeJobExecutionState": boolean, "includeJobDocument": boolean, "stepTimeoutInMinutes": long, "clientToken": "string" }
status

ジョブ実行の新しいステータス (IN_PROGRESS、FAILED、SUCCEEDED、または REJECTED)。これはすべての更新時に指定する必要があります。

statusDetails

ジョブ実行のステータスについて説明する名前と値のペアの集合。指定しない場合、statusDetails は変更されません。

expectedVersion

ジョブ実行の予想される現在のバージョン。ジョブの実行を更新するたびに、そのバージョンがインクリメントされます。AWS IoT ジョブサービスに格納されているジョブ実行のバージョンが一致しない場合、VersionMismatchエラー、およびErrorResponseを返し、現在のジョブ実行ステータスデータを格納します。(これにより、ジョブ実行ステータスデータを取得するために別の DescribeJobExecution リクエストを実行する必要はありません。)

executionNumber

省略可能。デバイスでジョブの実行を識別する番号。指定しない場合、最新のジョブ実行が使用されます。

includeJobExecutionState

省略可能。これが含まれ、true に設定されている場合、応答には JobExecutionState フィールドが含まれます。デフォルト: false

includeJobDocument

省略可能。これが含まれ、true に設定されている場合、応答には JobDocument が含まれます。デフォルト: false

stepTimeoutInMinutes

このデバイスがこのジョブの実行を終了する必要のある時間を指定します。このタイマーが時間切れになるか、再設定される (UpdateJobExecution を再び呼び出し、ステータスを IN_PROGRESS に設定して、このフィールドで新しいタイムアウト値を指定する) までに、ジョブの実行ステータスが終了状態に設定されない場合、ジョブの実行ステータスは TIMED_OUT に設定されます。このタイムアウトを設定または再設定しても、ジョブの作成時に指定したジョブの実行タイムアウト (CreateJobtimeoutConfig を使用することにより) には影響を与えません。

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。ここに任意の値を入力すると、レスポンスに反映されます。

メッセージブローカーは$aws/things/thingName/jobs/jobId/update/acceptedおよび$aws/things/thingName/jobs/jobId/update/rejectedさらにそれらに特定のサブスクリプションなしで。ただし、クライアントがメッセージを受信するには、クライアントがそのメッセージを受信している必要があります。詳細については、「」を参照してください。ジョブ API メッセージに関する注意事項

レスポンスペイロード:

{ "executionState": JobExecutionState, "jobDocument": "string", "timestamp": timestamp, "clientToken": "string" }
executionState

JobExecutionState オブジェクト。

jobDocument

ジョブドキュメントオブジェクト。

timestamp

メッセージが送信されたときの、エポックからの秒単位の時間。

clientToken

リクエストとレスポンスを相関させるために使用されるクライアントトークン。

HTTPS (15)

リクエスト:

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

デバイスに関連付けられたモノの名前。

jobId

作成時にこのジョブに割り当てた一意の識別子。

status

ジョブ実行の新しいステータス (IN_PROGRESS、FAILED、SUCCEEDED、または REJECTED)。これはすべての更新時に指定する必要があります。

statusDetails

省略可能。ジョブ実行のステータスについて説明する名前と値のペアの集合。指定しない場合、statusDetails は変更されません。

expectedVersion

省略可能。ジョブ実行の予想される現在のバージョン。ジョブの実行を更新するたびに、そのバージョンがインクリメントされます。AWS IoT ジョブサービスに格納されているジョブ実行のバージョンが一致しない場合、VersionMismatchエラー、およびErrorResponseを返し、現在のジョブ実行ステータスデータを格納します。(これにより、ジョブ実行ステータスデータを取得するために別の DescribeJobExecution リクエストを実行する必要はありません。)

includeJobExecutionState

省略可能。これが含まれ、true に設定されている場合、応答には JobExecutionState データが含まれます。デフォルト: false

includeJobDocument

省略可能。true に設定すると、レスポンスにはジョブドキュメントが含まれます。デフォルト: false

stepTimeoutInMinutes

このデバイスがこのジョブの実行を終了する必要のある時間を指定します。このタイマーが時間切れになるか、再設定される (UpdateJobExecution を再び呼び出し、ステータスを IN_PROGRESS に設定して、このフィールドで新しいタイムアウト値を指定する) までに、ジョブの実行ステータスが終了状態に設定されない場合、ジョブの実行ステータスは TIMED_OUT に設定されます。このタイムアウトを設定または再設定しても、ジョブの作成時に指定したジョブの実行タイムアウト (CreateJobtimeoutConfig を使用することにより) には影響を与えません。

executionNumber

省略可能。デバイスでジョブの実行を識別する番号。

レスポンス:

{ "executionState": JobExecutionState, "jobDocument": "string" }
executionState

JobExecutionState オブジェクト。

jobDocument

ジョブドキュメントのコンテンツ。

CLI (15)

概要:

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 }
cli-input-json フィールド:

名前

タイプ

説明

jobId

文字列

最長: 64 length min:1

pattern: [a-zA-Z0-9_-]+

作成時にこのジョブに割り当てた一意の識別子。

thingName

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

デバイスに関連付けられたモノの名前。

status

文字列

列挙値: QUEUED | IN_PROGRESS | 成功 | 失敗 | TEMED_OUT | 拒否 | 削除 | キャンセル

ジョブ実行の新しいステータス (IN_PROGRESS、FAILED、SUCCEEDED、または REJECTED)。これはすべての更新時に指定する必要があります。

statusDetails

map

キー: DetailsKey

値: DetailsValue

省略可能。ジョブ実行のステータスについて説明する名前と値のペアの集合。指定しない場合、statusDetails は変更されません。

DetailsKey

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

DetailsValue

文字列

最長: 1024 length min:1

pattern: [^\\p{C}]*+

stepTimeoutInMinutes

long

このデバイスがこのジョブの実行を終了する必要のある時間を指定します。このタイマーが時間切れになるか、再設定される (UpdateJobExecution を再び呼び出し、ステータスを IN_PROGRESS に設定して、このフィールドで新しいタイムアウト値を指定する) までに、ジョブの実行ステータスが終了状態に設定されない場合、ジョブの実行ステータスは TIMED_OUT に設定されます。このタイムアウトを設定または再設定しても、ジョブの作成時に指定したジョブの実行タイムアウト (CreateJobtimeoutConfig を使用することにより) には影響を与えません。

expectedVersion

long

java class: java.lang.Long

省略可能。ジョブ実行の予想される現在のバージョン。ジョブの実行を更新するたびに、そのバージョンがインクリメントされます。AWS IoT ジョブサービスに格納されているジョブ実行のバージョンが一致しない場合、VersionMismatch エラーで更新が拒否され、現在のジョブ実行ステータスデータを含む ErrorResponse が返されます。(これにより、ジョブ実行ステータスデータを取得するために別の DescribeJobExecution リクエストを実行する必要はありません。)

includeJobExecutionState

boolean

java class: java.lang.Boolean

省略可能。これが含まれ、true に設定されている場合、応答には JobExecutionState データが含まれます。デフォルト: false。

includeJobDocument

boolean

java class: java.lang.Boolean

省略可能。true に設定すると、レスポンスにはジョブドキュメントが含まれます。デフォルト: false。

executionNumber

long

java class: java.lang.Long

省略可能。デバイスでジョブの実行を識別する番号。

出力:

{ "executionState": { "status": "string", "statusDetails": { "string": "string" }, "versionNumber": long }, "jobDocument": "string" }
CLI 出力フィールド:

名前

タイプ

説明

executionState

JobExecutionState

JobExecutionState オブジェクト。

status

文字列

列挙値: QUEUED | IN_PROGRESS | 成功 | 失敗 | TEMED_OUT | 拒否 | 削除 | キャンセル

ジョブ実行のステータス。次のいずれかの値を指定できます。QUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUEUED

statusDetails

map

キー: DetailsKey

値: DetailsValue

ジョブ実行のステータスについて説明する名前と値のペアの集合。

DetailsKey

文字列

最長: 128 length min:1

pattern: [a-zA-Z0-9:_-]+

DetailsValue

文字列

最長: 1024 length min:1

pattern: [^\\p{C}]*+

versionNumber

long

ジョブ実行のバージョン。ジョブ実行バージョンは、デバイスによって更新されるたびに増分されます。

jobDocument

文字列

length max:32768

ジョブドキュメントのコンテンツ。

JobExecutionsChanged

あるジョブの実行中のジョブのリストに、ジョブの実行が追加または削除されるたびに送信されます。

MQTT (16)

トピック: $aws/things/thingName/jobs/notify

メッセージペイロード:

{ "jobs" : { "JobExecutionState": [ JobExecutionSummary ... ] }, "timestamp": timestamp, }
HTTPS (16)

利用不可。

CLI (16)

利用不可。

NextJobExecutionChanged

DescribeJobExecution が jobId $next で定義されているように、あるジョブの実行中のジョブの実行リストの次に実行される変更がある場合に送信されます。 このメッセージは、次のジョブの実行の詳細が変更されたときには送信されません。これは、jobId DescribeJobExecution とともに $next で返される次のジョブが変更されたときだけです。状態 QUEUED のジョブ実行 J1 と J2 を考えてみましょう。保留中のジョブの実行リストの次に J1 が表示されます。J1 の状態が変更されないまま J2 の状態が IN_PROGRESS に変更された場合、この通知が送信され、J2 の詳細が含まれます。

MQTT (17)

トピック: $aws/things/thingName/jobs/notify-next

メッセージペイロード:

{ "execution" : JobExecution, "timestamp": timestamp, }
HTTPS (17)

利用不可。

CLI (17)

利用不可。