

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

# を使用して AWS マネージドテンプレートからジョブを作成する AWS CLI
<a name="job-template-manage-cli-create"></a>

 AWS CLI を使用してマネージド AWS テンプレートに関する情報を取得し、これらのテンプレートを使用してジョブを作成します。次に、ジョブをテンプレートとして保存し、独自のカスタムテンプレートを作成できます。

## 管理テンプレートを一覧表示する
<a name="job-template-manage-cli-list"></a>

[https://docs.aws.amazon.com/cli/latest/reference/iot/list-managed-job-templates.html](https://docs.aws.amazon.com/cli/latest/reference/iot/list-managed-job-templates.html) AWS CLI コマンドは、 内のすべてのジョブテンプレートを一覧表示します AWS アカウント。

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

デフォルトでは、このコマンドを実行すると、使用可能なすべての AWS マネージドテンプレートとその詳細が表示されます。

```
{
    "managedJobTemplates": [
        {
            "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Reboot:1.0",
            "templateName": "AWS-Reboot",
            "description": "A managed job template for rebooting the device.",
            "environments": [
                "LINUX"
            ],
            "templateVersion": "1.0"
        },
        {
            "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Remove-Application:1.0",
            "templateName": "AWS-Remove-Application",
            "description": "A managed job template for uninstalling one or more applications.",
            "environments": [
                "LINUX"
            ],
            "templateVersion": "1.0"
        },
        {
            "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Stop-Application:1.0",
            "templateName": "AWS-Stop-Application",
            "description": "A managed job template for stopping one or more system services.",
            "environments": [
                "LINUX"
            ],
            "templateVersion": "1.0"
        },

        ...

        {
            "templateArn": "arn:aws:iot:us-east-1::jobtemplate/AWS-Restart-Application:1.0",
            "templateName": "AWS-Restart-Application",
            "description": "A managed job template for restarting one or more system services.",
            "environments": [
                "LINUX"
            ],
            "templateVersion": "1.0"
        }
    ]
}
```

詳細については、「[ListManagedJobTemplates](https://docs.aws.amazon.com/iot/latest/apireference/API_ListManagedJobTemplates.html)」を参照してください。

## 管理テンプレートの詳細を取得する
<a name="job-template-manage-cli-get"></a>

[https://docs.aws.amazon.com/cli/latest/reference/iot/describe-managed-job-template.html](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-managed-job-template.html) AWS CLI コマンドは、指定されたジョブテンプレートの詳細を取得します。ジョブテンプレート名とオプションのテンプレートバージョンを指定します。テンプレートのバージョンを指定しなかった場合は、定義済みのデフォルトバージョンが返されます。以下は、コマンドを実行して `AWS-Download-File` テンプレートの詳細を取得する例を示しています。

```
aws iot describe-managed-job-template \
    --template-name AWS-Download-File
```

このコマンドは、テンプレートの詳細と ARN、そのジョブドキュメント、およびテンプレートの入力パラメータのキーと値のペアのリストである `documentParameters` パラメータを表示します。さまざまなテンプレートと入力パラメータの詳細については、「[管理テンプレートのリモートアクションとジョブドキュメント](job-templates-managed.md#job-template-manage-actions)」を参照してください。

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

```
{
    "templateName": "AWS-Download-File",
    "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Download-File:1.0",
    "description": "A managed job template for downloading a file.",
    "templateVersion": "1.0",
    "environments": [
        "LINUX"
    ],
    "documentParameters": [
        {
            "key": "downloadUrl",
            "description": "URL of file to download.",
            "regex": "(.*?)",
            "example": "http://www.example.com/index.html",
            "optional": false
        },
        {
            "key": "filePath",
            "description": "Path on the device where downloaded file is written.",
            "regex": "(.*?)",
            "example": "/path/to/file",
            "optional": false
        },
        {
            "key": "runAsUser",
            "description": "Execute handler as another user. If not specified, then handler is executed as the same user as device client.",
            "regex": "(.){0,256}",
            "example": "user1",
            "optional": true
        },
        {
            "key": "pathToHandler",
            "description": "Path to handler on the device. If not specified, then device client will use the current working directory.",
            "regex": "(.){0,4096}",
            "example": "/path/to/handler/script",
            "optional": true
        }
    ],
    "document": "{\"version\":\"1.0\",\"steps\":[{\"action\":{\"name\":\"Download-File\",\"type\":\"runHandler\",\"input\":{\"handler\":\"download-file.sh\",\"args\":[\"${aws:iot:parameter:downloadUrl}\",\"${aws:iot:parameter:filePath}\"],\"path\":\"${aws:iot:parameter:pathToHandler}\"},\"runAsUser\":\"${aws:iot:parameter:runAsUser}\"}}]}"
}
```

詳細については、「[DescribeManagedJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeManagedJobTemplate.html)」を参照してください。

## 管理テンプレートを使用してジョブを作成する
<a name="job-template-manage-cli-create-job"></a>

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

この例では、`AWS-Download-File` テンプレートを使用するジョブを作成する方法を示しています。また、`document-parameters` パラメータを使用して、テンプレートの入力パラメータを指定する方法も示します。

**注記**  
`document-parameters` オブジェクトは、 AWS マネージドテンプレートでのみ使用します。このオブジェクトをカスタムジョブテンプレートに使用しないでください。

```
aws iot create-job \
   --targets arn:aws:iot:region:account-id:thing/thingOne \ 
   --job-id "new-managed-template-job" \ 
   --job-template-arn arn:aws:iot:region::jobtemplate/AWS-Download-File:1.0 \
   --document-parameters downloadUrl=https://example.com/index.html,filePath=path/to/file
```

各パラメータの意味は次のとおりです。
+ *region* は です AWS リージョン。
+ *account-id* は、一意の AWS アカウント 番号です。
+ `thingOne` は、ジョブの対象となる IoT のモノの名前です。
+ *AWS-Download-File:1.0* は、管理テンプレートの名前です。
+ `https://example.com/index.html` は、ファイルのダウンロード元の URL です。
+ `https://pathto/file/index` は、ダウンロードしたファイルを保存するデバイス上のローカルファイルパスです。

次のコマンドを実行して、テンプレートを作成します。`AWS-Download-File`

```
{
    "jobArn": "arn:aws:iot:region:account-id:job/new-managed-template-job",
    "jobId": "new-managed-template-job",
    "description": "A managed job template for downloading a file."
}
```

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

1. 前のセクションで説明したように、管理テンプレートを使用してジョブを作成します。

1. 作成したジョブの ARN を使用して、カスタムジョブテンプレートを作成します。詳細については、「[既存のジョブからジョブテンプレートを作成する](job-templates-cli.md#job-templates-cli-create-from-job)」を参照してください。