작업 이벤트 - AWS IoT Core

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

작업 이벤트

AWS IoT 작업 서비스는 작업이 보류 중이거나, 완료되거나, 취소될 때, 그리고 작업을 실행할 때 장치가 성공 또는 실패를 보고할 때 MQTT 프로토콜의 예약된 주제에 게시합니다. 디바이스 또는 관리 및 모니터링 애플리케이션은 이러한 주제를 구독하여 작업 상태를 추적할 수 있습니다.

작업 이벤트 사용 방법

AWS IoT Jobs 서비스의 응답 메시지는 메시지 브로커를 통과하지 않으며 다른 클라이언트나 규칙에서 구독할 수 없습니다. 작업 활동 관련 메시지를 구독하려면 notifynotify-next 주제를 사용합니다. 작업 주제에 대한 자세한 내용은 작업 주제 섹션을 참조하세요.

작업 업데이트에 대한 알림을 받으려면 를 사용하거나 API 또는 CLI를 사용하여 이러한 작업 이벤트를 활성화하십시오. AWS Management Console자세한 정보는 다음과 같은 이벤트를 활성화합니다. AWS IoT을 참조하세요.

작업 이벤트 작동 방식

작업 취소 및 삭제에는 다소 시간이 걸릴 수 있기 때문에 요청의 시작과 종료를 알리기 위해 2개의 메시지가 전송됩니다. 예를 들어, 취소 요청이 시작되면 $aws/events/job/jobID/cancellation_in_progress 주제로 메시지가 전송됩니다. 취소 요청이 완료되면 $aws/events/job/jobID/canceled 주제로 메시지가 전송됩니다.

작업 삭제 요청에 대해서도 비슷한 프로세스가 수행됩니다. 관리 및 모니터링 애플리케이션은 이러한 주제를 구독하여 작업 상태를 추적할 수 있습니다. MQTT 주제 게시 및 구독에 대한 자세한 내용은 디바이스 통신 프로토콜 단원을 참조하세요.

작업 이벤트 유형

다음은 다양한 작업 이벤트 유형을 보여줍니다.

작업 완료/취소/삭제됨

AWS IoT 작업 서비스는 작업이 완료, 취소, 삭제되거나 취소 또는 삭제가 진행 중일 때 MQTT 주제에 메시지를 게시합니다.

  • $aws/events/job/jobID/completed

  • $aws/events/job/jobID/canceled

  • $aws/events/job/jobID/deleted

  • $aws/events/job/jobID/cancellation_in_progress

  • $aws/events/job/jobID/deletion_in_progress

completed 메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

{ "eventType": "JOB", "eventId": "7364ffd1-8b65-4824-85d5-6c14686c97c6", "timestamp": 1234567890, "operation": "completed", "jobId": "27450507-bf6f-4012-92af-bb8a1c8c4484", "status": "COMPLETED", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/a39f6f91-70cf-4bd2-a381-9c66df1a80d0", "arn:aws:iot:us-east-1:123456789012:thinggroup/2fc4c0a4-6e45-4525-a238-0fe8d3dd21bb" ], "description": "My Job Description", "completedAt": 1234567890123, "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "jobProcessDetails": { "numberOfCanceledThings": 0, "numberOfRejectedThings": 0, "numberOfFailedThings": 0, "numberOfRemovedThings": 0, "numberOfSucceededThings": 3 } }

canceled 메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "canceled", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "CANCELED", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123 }

deleted 메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "deleted", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "DELETED", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "comment": "Comment for this operation" }

cancellation_in_progress 메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "cancellation_in_progress", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "CANCELLATION_IN_PROGRESS", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "comment": "Comment for this operation" }

deletion_in_progress 메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "deletion_in_progress", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "DELETION_IN_PROGRESS", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "comment": "Comment for this operation" }
작업 실행 종료 상태

AWS IoT Jobs 서비스는 장치가 작업 실행을 터미널 상태로 업데이트할 때 메시지를 게시합니다.

  • $aws/events/jobExecution/jobID/succeeded

  • $aws/events/jobExecution/jobID/failed

  • $aws/events/jobExecution/jobID/rejected

  • $aws/events/jobExecution/jobID/canceled

  • $aws/events/jobExecution/jobID/timed_out

  • $aws/events/jobExecution/jobID/removed

  • $aws/events/jobExecution/jobID/deleted

메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

{ "eventType": "JOB_EXECUTION", "eventId": "cca89fa5-8a7f-4ced-8c20-5e653afb3572", "timestamp": 1234567890, "operation": "succeeded|failed|rejected|canceled|removed|timed_out", "jobId": "154b39e5-60b0-48a4-9b73-f6f8dd032d27", "thingArn": "arn:aws:iot:us-east-1:123456789012:myThing/6d639fbc-8f85-4a90-924d-a2867f8366a7", "status": "SUCCEEDED|FAILED|REJECTED|CANCELED|REMOVED|TIMED_OUT", "statusDetails": { "key": "value" } }