AWS CLI를 사용하여 사용자 정의 작업 템플릿 생성 - AWS IoT Core

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

AWS CLI를 사용하여 사용자 정의 작업 템플릿 생성

이 주제에서는 AWS CLI를 사용하여 작업 템플릿에 대한 세부 정보를 생성, 삭제 및 검색하는 방법에 대해 설명합니다.

새 작업 템플릿 생성

다음 AWS CLI 명령은 작업 문서(job-document.json)는 S3 버킷에 저장되며 Amazon S3(S3DownloadRole).

aws iot create-job-template \ --job-template-id 010 \ --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 알림을 게시합니다.

작업 롤아웃 및 중단에 대한 구성 생성에 대한 자세한 내용은 작업 롤아웃 및 중단 구성을 참조하세요.

참고

Amazon S3 파일로 지정되는 작업 문서는 작업을 생성할 때 가져오게 됩니다. 작업을 생성한 후 작업 문서의 원본으로 사용한 Amazon S3 파일의 내용을 변경해도 작업 대상으로 전송되는 내용은 변경되지 않습니다.

기존 작업에서 작업 템플릿 생성

다음 AWS CLI 명령은 기존 작업의 Amazon 리소스 이름(ARN)을 지정하여 작업 템플릿을 생성합니다. 새 작업 템플릿은 작업에 지정된 모든 구성을 사용합니다. 필요에 따라 선택적 파라미터를 사용하여 기존 작업의 구성을 변경할 수 있습니다.

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

작업 템플릿에 대한 세부 정보 가져오기

다음 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 } }

작업 템플릿 나열

다음 AWS CLI 명령은 의 모든 작업 템플릿을 나열합니다 AWS 계정.

aws iot list-job-templates

이 명령은 다음 출력을 표시합니다.

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

추가 결과 페이지를 검색하려면 nextToken 필드의 값을 사용합니다.

작업 템플릿 삭제

다음 AWS CLI 명령은 지정된 작업 템플릿을 삭제합니다.

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

명령이 아무런 출력도 표시하지 않습니다.

사용자 정의 작업 템플릿에서 작업 생성

다음 AWS CLI 명령은 사용자 지정 작업 템플릿에서 작업을 생성합니다. 라는 디바이스를 대상으로 thingOne하고 작업 템플릿의 Amazon 리소스 이름(ARN)을 지정하여 작업의 기반으로 사용합니다. create-job 명령의 연결된 파라미터를 전달하여 시간 초과 및 취소 구성과 같은 고급 구성을 재정의할 수 있습니다.

주의

document-parameters 객체는 AWS 관리형 템플릿으로 작업을 생성할 때만 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