AWS IoT Jobs API를 사용하여 작업 구성 지정 - AWS IoT Core

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

AWS IoT Jobs API를 사용하여 작업 구성 지정

CreateJob또는 CreateJobTemplateAPI를 사용하여 다양한 작업 구성을 지정할 수 있습니다. 다음 섹션에서는 이러한 구성을 추가하는 방법을 설명합니다. 구성을 추가한 후에는 JobExecutionSummaryJobExecutionSummaryForJob를 사용하여 해당 상태를 볼 수 있습니다.

다양한 구성 및 구성 작동 방식에 대한 자세한 내용은 작업 구성 작동 방식 섹션을 참조하세요.

Rollout configuration(롤아웃 구성)

롤아웃 구성에 대해 상수 롤아웃 속도 또는 기하급수적 롤아웃 속도를 지정할 수 있습니다.

  • 상수 롤아웃 속도 설정

    상수 롤아웃 속도를 설정하려면 JobExecutionsRolloutConfig 객체를 사용하여 maximumPerMinute 파라미터를 CreateJob 요청에 추가합니다. 이 파라미터는 작업 실행이 발생할 수 있는 속도의 상한을 지정합니다. 이 값은 선택 사항이며 범위는 1~1,000입니다. 이 값을 설정하지 않으면 1,000이 기본값으로 사용됩니다.

    "jobExecutionsRolloutConfig": { "maximumPerMinute": 1000 }
  • 기하급수적 롤아웃 속도 설정

    가변 작업 롤아웃 속도를 설정하려면 JobExecutionsRolloutConfig 객체를 사용합니다. CreateJob API 작업을 실행할 때 ExponentialRolloutRate 속성을 구성할 수 있습니다. 다음 예에서는 exponentialRate 파라미터를 사용하여 기하급수적 롤아웃 속도를 설정합니다. 파라미터에 대한 자세한 내용은 ExponentialRolloutRate 섹션을 참조하세요.

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

여기서 파라미터는 다음과 같습니다.

baseRatePer분

numberOfNotifiedThings 또는 numberOfSucceededThings 임계값이 충족될 때까지 작업이 실행되는 속도를 지정합니다.

incrementFactor

numberOfNotifiedThings 또는 numberOfSucceededThings 임계값이 충족된 후 롤아웃 속도 증가의 기준이 되는 지수 인자를 지정합니다.

rateIncreaseCriteria

numberOfNotifiedThings 또는 numberOfSucceededThings 임계값을 지정합니다.

Abort configuration(중단 구성)

API를 사용하여 이 구성을 추가하려면 CreateJob 또는 CreateJobTemplate API 작업을 실행할 때 AbortConfig 파라미터를 지정합니다. 다음 예제에서는 CreateJob API 작업에 지정된 대로 여러 번의 실패한 실행이 발생한 작업 롤아웃에 대한 중단 구성을 보여줍니다.

참고

작업 실행 삭제는 완료된 전체 실행의 계산 값에 영향을 미칩니다. 작업이 중단되면 서비스는 자동화된 commentreasonCode을 생성해 사용자 주도 취소를 작업 중단 취소와 구분합니다.

"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_OUTALL입니다.

minNumberOfExecutedThings

작업 중단 기준이 충족되기 전에 발생해야 하는 완료된 작업 실행 수를 지정합니다. 이 예제에서 AWS IoT 는 100개 이상의 디바이스에서 작업 실행을 완료할 때까지 작업 중단이 발생해야 하는지 확인하지 않습니다.

thresholdPercentage

작업 중단을 시작할 수 있는 작업이 실행된 총 사물 수를 지정합니다. 이 예시에서는 순차적으로 AWS IoT 확인하여 임계값 백분율이 충족되면 작업 중단을 시작합니다. 100번의 실행이 완료된 후 전체 실행의 20% 이상이 실패하는 경우 작업 롤아웃이 취소됩니다. 이 기준이 충족되지 않는 경우 200회 실행이 완료된 후 완료된 실행의 50% 이상이 제한 시간이 초과되었는지 확인합니다. AWS IoT 이 경우 작업 롤아웃이 취소됩니다.

Scheduling configuration(예약 구성)

API를 사용하여 이 구성을 추가하려면 CreateJob 또는 CreateJobTemplate API 작업을 실행할 때 선택적 SchedulingConfig를 지정합니다.

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

여기서 파라미터는 다음과 같습니다.

startTime

작업이 시작될 날짜와 시간을 지정합니다.

endTime

작업이 종료될 날짜와 시간을 지정합니다.

maintenanceWindows

작업 문서를 대상 그룹의 모든 디바이스에 롤아웃하기 위해 예약된 작업에 대해 선택적 유지 관리 기간을 선택했는지를 지정합니다. maintenanceWindow의 문자열 형식은 날짜의 경우 YYYYY/MM/DD이고 시간의 경우 hh:mm입니다.

endBehavior

endTime에 도달할 때 예약된 작업의 작업 동작을 지정합니다.

참고

작업에 대한 선택적 SchedulingConfigDescribeJobDescribeJobTemplate API에서 볼 수 있습니다.

제한 시간 구성

API를 사용하여 이 구성을 추가하려면 CreateJob 또는 CreateJobTemplate API 작업을 실행할 때 TimeoutConfig 파라미터를 지정합니다.

제한 시간 구성을 사용하려면

  1. 작업 또는 작업 템플릿을 만들 때 진행 중 타이머를 설정하려면 선택적 개체의 inProgressTimeoutInMinutes 속성 값을 설정하십시오. TimeoutConfig

    "timeoutConfig": { "inProgressTimeoutInMinutes": number }
  2. 작업 실행을 위한 스텝 타이머를 지정하려면 stepTimeoutInMinutes UpdateJobExecution호출할 때의 값을 설정하십시오. 단계 타이머는 업데이트하는 작업 실행에만 적용됩니다. 작업 실행을 업데이트할 때마다 이 타이머에 대해 새 값을 설정할 수 있습니다.

    참고

    UpdateJobExecution은 -1 값으로 새 단계 타이머를 생성함으로써 이미 생성된 단계 타이머를 폐기할 수 없습니다.

    { ... "statusDetails": { "string" : "string" }, "stepTimeoutInMinutes": number }
  3. 새 스텝 타이머를 생성하기 위해 StartNextPendingJobExecutionAPI 작업을 호출할 수도 있습니다.

재시도 구성

참고

작업을 생성할 때 구성에 사용할 적절한 재시도 횟수를 고려합니다. 잠재적인 재시도 실패로 인해 과도한 비용이 발생하지 않도록 하려면 중단 구성을 추가합니다. 작업이 생성된 후에는 재시도 횟수를 업데이트할 수 없습니다. UpdateJobAPI 작업을 사용하여 재시도 횟수만 0으로 설정할 수 있습니다.

API를 사용하여 이 구성을 추가하려면 CreateJob 또는 CreateJobTemplate API 작업을 실행할 때 jobExecutionsRetryConfig 파라미터를 지정합니다.

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

여기서 criteriaList는 작업의 각 실패 유형에 대해 허용되는 재시도 횟수를 결정하는 기준 목록을 지정하는 배열입니다.