

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 를 사용하여 사용자 지정 작업 템플릿 생성 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
```