

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

# AWS IoT ジョブ API オペレーション
<a name="jobs-api"></a>

AWS IoT Jobs API は、次のいずれかのカテゴリに使用できます。
+ ジョブの管理や制御などの管理タスク。これは、*コントロールプレーン*です。
+ それらのジョブを実行するデバイス。これは、*データプレーンです*。これにより、データの送受信が可能になります。

ジョブの管理と制御には HTTPS プロトコル API を使用します。デバイスは、MQTT または HTTPS プロトコル API を使用できます。コントロールプレーンは、ジョブの作成と追跡の際に一般的な少数の呼び出しに対応するように設計されています。これは、通常、単一のリクエストの接続を開き、レスポンスが受信された後で接続を閉じます。データプレーンの HTTPS および MQTT API により、長時間のポーリングが可能になります。これらの API オペレーションは、数百万のデバイスに拡張できる大量のトラフィック用に設計されています。

各 AWS IoT Jobs HTTPS API には、 AWS Command Line Interface () から API を呼び出すことができる対応するコマンドがありますAWS CLI。コマンドは小文字で、API の名前を構成する単語の間にハイフンが付きます。たとえば、CLI で `CreateJob` API を呼び出すには、次のように入力します。

```
aws iot create-job ...
```

オペレーション中にエラーが発生した場合は、エラーに関する情報を含むエラーレスポンスが返されます。

## ErrorResponse
<a name="jobs-mqtt-error-response"></a>

 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  
ジョブ実行の現在の状態が原因で、ジョブ実行を有効でない状態に変更しようとするアップデートが試行されました。たとえば、「SUCCEEDED」状態のリクエストを「IN\$1PROGRESS」状態に変更しようとします。この場合、エラーメッセージの本文には `executionState` フィールドも含まれます。  
ResourceNotFound  
リクエストトピックによって指定された `JobExecution` が存在しません。  
VersionMismatch  
リクエストで指定された想定バージョンが、 AWS IoT ジョブサービスのジョブ実行のバージョンと一致しません。この場合、エラーメッセージの本文には `executionState` フィールドも含まれます。  
InternalError  
リクエストの処理中に内部エラーが発生しました。  
RequestThrottled  
リクエストがスロットリングされました。  
TerminalStateReached  
ターミナル状態のジョブでジョブについて説明するコマンドが実行されたときに発生します。

`message`  
エラーメッセージ文字列。

`clientToken`  
リクエストをその応答に関連付けるために使用される任意の文字列。

`timestamp`  
エポックからの秒単位の時間。

`executionState`  
[https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_JobExecutionState.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_JobExecutionState.html) オブジェクト。このフィールドは、`code` フィールドの値が `InvalidStateTransition` または `VersionMismatch` の場合にのみ含まれます。これにより、これらの場合、現在のジョブ実行ステータスデータを取得するための別の `DescribeJobExecution` リクエストを実行する必要はありません。

**Topics**
+ [ジョブ管理と制御のデータ型](jobs-management-control-api.md)
+ [ジョブデバイス MQTT および HTTPS API オペレーションとデータ型](jobs-mqtt-https-api.md)