翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT ジョブAPIオペレーション
AWS IoT ジョブAPIは、次のいずれかのカテゴリに使用できます。
-
ジョブの管理や制御などの管理タスク。これは、コントロールプレーンです。
-
それらのジョブを実行するデバイス。これは、データプレーンです。これにより、データの送受信が可能になります。
ジョブの管理と制御では、 HTTPSプロトコル を使用しますAPI。デバイスは、 MQTTまたは HTTPSプロトコル を使用できますAPI。コントロールプレーンAPIは、ジョブを作成および追跡するときに一般的な少量の呼び出し用に設計されています。これは、通常、単一のリクエストの接続を開き、レスポンスが受信された後で接続を閉じます。データプレーンHTTPSと はロングポーリングMQTTAPIを許可します。これらのAPIオペレーションは、数百万のデバイスにスケールできる大量のトラフィック向けに設計されています。
各 AWS IoT ジョブHTTPSAPIには、 AWS Command Line Interface () APIから を呼び出すことができる対応するコマンドがありますAWS CLI。コマンドは小文字で、 の名前を構成する単語の間にハイフンが付きますAPI。たとえば、次のように入力CLIして CreateJob
APIで を呼び出すことができます。
aws iot create-job ...
オペレーション中にエラーが発生した場合は、エラーに関する情報を含むエラーレスポンスが返されます。
AWS IoT ジョブサービスオペレーション中に発生したエラーに関する情報が含まれます。
以下の例は、このオペレーションの構文を示しています。
{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }
以下は、この ErrorResponse
の説明です。
code
-
ErrorCode は次のように設定できます。
- InvalidTopic
-
リクエストは、どのAPIオペレーションにもマッピングされない AWS IoT Jobs 名前空間のトピックに送信されました。
- InvalidJson
-
リクエストの内容を有効な UTF-8 エンコードされた として解釈できませんでしたJSON。
- InvalidRequest
-
リクエストの内容が無効です。たとえば、このコードは、
UpdateJobExecution
リクエストに無効なステータスの詳細が含まれている場合に返されます。メッセージには、エラーに関する詳細情報が含まれています。 - InvalidStateTransition
-
ジョブ実行の現在の状態が原因で、ジョブ実行を有効でない状態に変更しようとするアップデートが試行されました。例えば、 状態のリクエストを IN_ SUCCEEDED状態に変更しようとするとしますPROGRESS。この場合、エラーメッセージの本文には
executionState
フィールドも含まれます。 - ResourceNotFound
-
リクエストトピックによって指定された
JobExecution
が存在しません。 - VersionMismatch
-
リクエストで指定された想定バージョンが、 AWS IoT ジョブサービスのジョブ実行のバージョンと一致しません。この場合、エラーメッセージの本文には
executionState
フィールドも含まれます。 - InternalError
-
リクエストの処理中に内部エラーが発生しました。
- RequestThrottled
-
リクエストがスロットリングされました。
- TerminalStateReached
-
ターミナル状態のジョブでジョブについて説明するコマンドが実行されたときに発生します。
message
-
エラーメッセージ文字列。
clientToken
-
リクエストをその応答に関連付けるために使用される任意の文字列。
timestamp
-
エポックからの秒単位の時間。
executionState
-
JobExecutionState
オブジェクト。このフィールドは、code
フィールドの値がInvalidStateTransition
またはVersionMismatch
の場合にのみ含まれます。これにより、これらの場合、現在のジョブ実行ステータスデータを取得するための別のDescribeJobExecution
リクエストを実行する必要はありません。