

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

# を使用してカスタムジョブテンプレートを作成する AWS CLI
<a name="job-templates-cli"></a>

このトピックでは、 AWS CLIを使用してジョブテンプレートの作成、削除、詳細情報の取得を行う方法について説明します。

## 一からジョブテンプレートを作成する
<a name="job-templates-cli-create-scratch"></a>

次の AWS CLI コマンドは、S3 バケットに保存されているジョブドキュメント (*job-document.json*) と、Amazon S3 (*S3DownloadRole*) からファイルをダウンロードするアクセス許可を持つロールを使用してジョブを作成する方法を示しています。

```
aws iot create-job-template  \
      --job-template-id 010  \
      --description "My custom job template for updating the device firmware"
      --document-source https://s3.amazonaws.com/amzn-s3-demo-bucket/job-document.json  \
      --timeout-config inProgressTimeoutInMinutes=100 \
      --job-executions-rollout-config "{ \"exponentialRate\": { \"baseRatePerMinute\": 50, \"incrementFactor\": 2, \"rateIncreaseCriteria\": { \"numberOfNotifiedThings\": 1000, \"numberOfSucceededThings\": 1000}}, \"maximumPerMinute\": 1000}" \
      --abort-config "{ \"criteriaList\": [ { \"action\": \"CANCEL\", \"failureType\": \"FAILED\", \"minNumberOfExecutedThings\": 100, \"thresholdPercentage\": 20}, { \"action\": \"CANCEL\", \"failureType\": \"TIMED_OUT\", \"minNumberOfExecutedThings\": 200, \"thresholdPercentage\": 50}]}" \          
      --presigned-url-config "{\"roleArn\":\"arn:aws:iam::123456789012:role/S3DownloadRole\", \"expiresInSec\":3600}"
```

オプションの `timeout-config` パラメータは、各デバイスがジョブの実行を終了すべき時間を指定します。ジョブの実行ステータスが `IN_PROGRESS` に設定されると、タイマーが開始されます。タイマーが時間切れになるまでにジョブの実行ステータスが別の終了状態に設定されない場合は、`TIMED_OUT` に設定されます。

進捗タイマーは更新できず、ジョブのすべての起動に適用されます。ジョブの起動がこの間隔より長く `IN_PROGRESS`状態のままになるたびに、ジョブの起動は失敗し、終了`TIMED_OUT`ステータスに切り替わります。 AWS IoT も MQTT 通知を発行します。

ジョブロールアウトと中止に関する設定の作成の詳細については、「[ジョブのロールアウトと中止設定](job-rollout-abort-scheduling.html)」を参照してください。

**注記**  
ジョブを作成するときに、Amazon S3 ファイルとして指定されたジョブドキュメントが取得されます。ジョブを作成した後でジョブドキュメントのソースとして使用した Amazon S3 ファイルの内容を変更しても、ジョブのターゲットに送信されるものは変更されません。

## 既存のジョブからジョブテンプレートを作成する
<a name="job-templates-cli-create-from-job"></a>

次の AWS CLI コマンドは、既存のジョブの Amazon リソースネーム (ARN) を指定してジョブテンプレートを作成します。新しいジョブテンプレートでは、ジョブで指定されたすべての設定が使用されます。必要に応じて、任意のオプションのパラメータを使用して既存のジョブの構成を変更できます。

```
aws iot create-job-template  \
      --job-arn arn:aws:iot:region:123456789012:job/job-name  \      
      --timeout-config inProgressTimeoutInMinutes=100
```

## ジョブテンプレートの詳細を取得する
<a name="job-templates-cli-describe"></a>

次の AWS CLI コマンドは、指定されたジョブテンプレートの詳細を取得します。

```
aws iot describe-job-template \
      --job-template-id template-id
```

コマンドによって以下の出力が表示されます。

```
{
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "createdAt": number,
   "description": "string",
   "document": "string",
   "documentSource": "string",
   "jobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "jobTemplateArn": "string",
   "jobTemplateId": "string",
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "timeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   }
}
```

## ジョブテンプレートを一覧表示する
<a name="job-templates-cli-list"></a>

次の AWS CLI コマンドは、 内のすべてのジョブテンプレートを一覧表示します AWS アカウント。

```
 aws iot list-job-templates
```

コマンドによって以下の出力が表示されます。

```
{
   "jobTemplates": [ 
      { 
         "createdAt": number,
         "description": "string",
         "jobTemplateArn": "string",
         "jobTemplateId": "string"
      }
   ],
   "nextToken": "string"
}
```

結果の追加ページを取得するには、`nextToken` フィールドの値を使用します。

## ジョブテンプレートを削除する
<a name="job-templates-cli-delete"></a>

次の AWS CLI コマンドは、指定されたジョブテンプレートを削除します。

```
aws iot delete-job-template \
      --job-template-id template-id
```

コマンドは出力を表示しません。

## カスタムジョブテンプレートからジョブを作成する
<a name="job-templates-cli-create-job"></a>

次の AWS CLI コマンドは、カスタムジョブテンプレートからジョブを作成します。これは、`thingOne` というデバイスをターゲットとし、ジョブのベースとして使用するジョブテンプレートの Amazon リソースネーム (ARN) を指定します。`create-job` コマンドの関連パラメータを渡すことで、タイムアウトやキャンセルの設定といった詳細設定を上書きできます。

**警告**  
`document-parameters` オブジェクトは、 AWS 管理テンプレートからジョブを作成する場合のみ `create-job` コマンドで使用する必要があります。このオブジェクトをカスタムジョブテンプレートに使用しないでください。このパラメータを使用してジョブを作成する方法を示す例については、「[管理テンプレートを使用してジョブを作成する](job-template-manage-cli-create.md#job-template-manage-cli-create-job)」を参照してください。

```
aws iot create-job \ 
      --targets arn:aws:iot:region:123456789012:thing/thingOne  \
      --job-template-arn arn:aws:iot:region:123456789012:jobtemplate/template-id
```