

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

# Jobs API を使用して AWS IoT ジョブ設定を指定する
<a name="job-configurations-api"></a>

[[CreateJob]](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) (ジョブの作成) または[[CreateJobTemplate]](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) (ジョブテンプレートの作成) API を使用してさまざまなジョブ設定を指定できます。次のセクションでは、これらの設定を追加する方法について説明します。設定を追加後、[[JobExecutionSummary]](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummary.html) (ジョブ実行概要) および [[JobExecutionSummaryForJob]](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummaryForJob.html) (ジョブ用のジョブ実行概要) を使用して、そのステータスを表示します。

さまざまな設定とその動作の詳細については、「[ジョブ設定の仕組み](jobs-configurations-details.md)」を参照してください。

## ロールアウト設定
<a name="job-rollout-api"></a>

ロールアウト設定には、一定のロールアウトレートまたは指数関数的なロールアウトレートを指定できます。
+ 

**一定のロールアウトレートを設定する**  
一定のロールアウトレートを設定するには、[https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html) オブジェクトを使用して`maximumPerMinute` パラメータを `CreateJob` リクエストに追加します。このパラメータはジョブ実行が発生するレートの上限を指定します。この値はオプションで、1～1000 の範囲です。値を設定しないと、デフォルト値として 1000 が使用されます。

  ```
      "jobExecutionsRolloutConfig": {
          "maximumPerMinute": 1000
      }
  ```
+ 

**指数関数的なロールアウトレートを設定する**  
可変ジョブロールアウトレートを設定するには、[https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html) オブジェクトを使用します。`CreateJob` API オペレーション実行時の `ExponentialRolloutRate` プロパティを設定できます。次の例では、`exponentialRate` パラメータを使用して指数関数的ロールアウトレートを設定します。パラメータの詳細については、「 」を参照してください[https://docs.aws.amazon.com/iot/latest/apireference/API_ExponentialRolloutRate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ExponentialRolloutRate.html)

  ```
  {
  ...
    "jobExecutionsRolloutConfig": {
      "exponentialRate": {
        "baseRatePerMinute": 50,
        "incrementFactor": 2,
        "rateIncreaseCriteria": {
          "numberOfNotifiedThings": 1000,
          "numberOfSucceededThings": 1000
        },
        "maximumPerMinute": 1000
      }
    }
  ...
  }
  ```

パラメータが以下の場合 :

**baseRatePerMinute**  
`numberOfNotifiedThings` または `numberOfSucceededThings` しきい値に達するまで、ジョブを実行するレートを指定します。

**incrementFactor**  
`numberOfNotifiedThings` または `numberOfSucceededThings` しきい値に達した後にロールアウトレートを増加する指数係数を指定します。

**rateIncreaseCriteria**  
`numberOfNotifiedThings` または `numberOfSucceededThings` しきい値のいずれかを指定します。

## 中止設定
<a name="job-abort-api"></a>

API を使用してこの設定を追加するには、[https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) または [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) API オペレーションを実行するときに [https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html) パラメータを指定します。次の例は、`CreateJob` API オペレーションで指定された複数回失敗した実行のジョブロールアウトに対する中止設定を示しています。

**注記**  
ジョブ実行を削除すると、完了した実行の合計数の計算値に影響します。ジョブを中止するとき、サービスは自動で `comment` と `reasonCode` を作成し、ジョブ中止のキャンセルとユーザーによるキャンセルを区別します。

```
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "CANCEL",
            "failureType": "FAILED",
            "minNumberOfExecutedThings": 100,
            "thresholdPercentage": 20
         },
         { 
            "action": "CANCEL",
            "failureType": "TIMED_OUT",
            "minNumberOfExecutedThings": 200,
            "thresholdPercentage": 50
         }
      ]
    }
```

パラメータが以下の場合 :

**action**  
中止基準が満たされたときに実行するアクションを指定します。このパラメータは必須であり、`CANCEL` が唯一の有効な値です。

**failureType**  
ジョブの中止を開始する失敗の種類を指定します。有効な値は、`FAILED`、`REJECTED`、`TIMED_OUT`、および `ALL` です。

**minNumberOfExecutedThings**  
ジョブ中止基準が満たされる前に、完了が必要なジョブの数を指定します。この例では、 AWS IoT は、ジョブ実行が完了しているデバイスが少なくとも 100 個になるまで、ジョブ中止が必要かどうかをチェックしません。

**thresholdPercentage**  
ジョブ中止を開始する、ジョブが実行されたモノの合計数を指定します。この例では、 は順番に AWS IoT チェックし、しきい値の割合が満たされた場合にジョブの中止を開始します。100 回の実行が完了した後に完了した実行の 20% 以上が失敗した場合、ジョブのロールアウトはキャンセルされます。この基準が満たされない場合、 AWS IoT は、200 回の実行が完了した後に、完了した実行の少なくとも 50% がタイムアウトしたかどうかを確認します。この場合、ジョブのロールアウトがキャンセルされます。

## スケジューリング設定
<a name="job-scheduling-api"></a>

API を使用してこの設定を追加するには、[https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) または [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) API オペレーションを実行する際にオプションの [https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html) を指定します。

```
    "SchedulingConfig": { 
      "endBehavior": string
      "endTime": string
      "maintenanceWindows": string
      "startTime": string
   }
```

パラメータが以下の場合 :

**startTime**  
ジョブを開始する日時を指定します。

**endTime**  
ジョブを終了する日時を指定します。

**maintenanceWindows**  
対象グループ内のすべてのデバイスに対し、ジョブドキュメントのロールアウトスケジュールジョブに、オプションのメンテナンスウィンドウが選択されていた場合に指定します。`maintenanceWindow` の文字列形式は、日付は YYYY/MM/DD、時刻は hh:mm です。

**endBehavior**  
スケジュールされたジョブが `endTime` に達したときのジョブの動作を指定します。

**注記**  
ジョブのオプション `SchedulingConfig` は、[https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html) および [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJobTemplate.html) API で表示できます。

## タイムアウト設定
<a name="job-timeout-api"></a>

API を使用してこの設定を追加するには、[https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) または [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) API オペレーションを実行するときに [https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html) パラメータを指定します。

タイムアウト設定を使用するには

1. ジョブまたはジョブテンプレートの作成時に進捗タイマーを設定するには、オプションの [TimeoutConfig](https://docs.aws.amazon.com//iot/latest/apireference/API_TimeoutConfig.html) オブジェクトの `inProgressTimeoutInMinutes` プロパティの値を設定します。

   ```
       "timeoutConfig": { 
         "inProgressTimeoutInMinutes": number
      }
   ```

1. ジョブ実行のステップタイマーを設定するには、[UpdateJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html) を呼び出すときの `stepTimeoutInMinutes`の値を設定します。ステップタイマーは更新するジョブ実行にのみ適用されます。ジョブの実行を更新するたびに、このタイマーに新しい値を設定できます。
**注記**  
`UpdateJobExecution` は、値 -1 の新しいステップタイマーを作成することで、すでに作成されたステップタイマーを破棄できます。

   ```
   {
      ... 
       "statusDetails": { 
         "string" : "string" 
      },
      "stepTimeoutInMinutes": number
   }
   ```

1. 新しいステップタイマーを作成するには、[StartNextPendingJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html) API オペレーションを呼び出すこともできます。

## 再試行設定
<a name="job-retry-api"></a>

**注記**  
ジョブを作成するときは、設定に使用する適切な再試行回数を考慮してください。再試行失敗の可能性による過剰なコストが発生しないようにするには、中止設定を追加します。ジョブの作成後は、再試行回数は更新できません。[UpdateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateJob.html) API オペレーションを使用する場合、再試行回数は 0 のみに設定できます。

API を使用してこの設定を追加するには、[https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) または [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) API オペレーションを実行するときに [https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html) パラメータを指定します。

```
{
...
  "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
  }
...
}
```

**criteriaList** は、ジョブの失敗タイプごとに許可される再試行回数を決定する基準のリストを指定する配列です。