이벤트, 경고 및 구독 작업
이벤트는 ThingWorx 플랫폼에서 조건 변경을 나타내는 데 사용됩니다. 이벤트는 조건이 충족되면 서비스를 호출하거나 REST 호출을 만들어 트리거될 수 있습니다. ThingWorx에는 특정 조건을 기반으로 트리거되는 몇 가지 표준 유형의 이벤트가 있습니다(예: 속성 값이 변경될 때(DataChange) 또는 사물이 시작될 때(ThingStart)).
경고는 속성의 상태를 기반으로 하는 표준 유형의 이벤트입니다. 속성 값이 사용자가 정의한 특정 조건을 충족하면 이벤트가 자동으로 트리거됩니다.
경고를 포함하여 이벤트가 트리거될 때 어떤 작업을 수행하기 위해서는 구독이 필요합니다. 구독은 구독하는 이벤트가 트리거될 때 실행되는 특수 서비스입니다.
이벤트에는 사전 정의된 데이터 셰이프가 필요합니다. 데이터 셰이프는 이벤트와 관련된 데이터를 저장하며 구독에 의해 액세스될 수 있습니다. 확장의 엔티티에 구독을 추가하여 이벤트가 발생할 때 사용자 정의 동작을 수행할 수 있습니다.
이벤트, 경고 및 구독을 작성하는 모범 사례
이벤트, 경고 및 구독을 작성할 때 다음 모범 사례를 사용하십시오.
이벤트, 경고 및 구독에 대한 이름 규약을 정의합니다. 다음 사항을 유념하십시오.
모든 엔티티에 표준 명칭을 사용하십시오. 예: 여러 엔티티 유형에 고유한 네임스페이스 접두사를 사용하여 충돌을 방지할 수 있습니다.
엔티티에 의미 있는 이름을 제공하십시오.
작성하는 모든 엔티티에 대해 적절한 설명을 포함하십시오.
모호한 이름은 사용하지 마십시오.
가능하면 긴 엔티티 이름은 사용하지 마십시오.
자세한 내용은 이름 지정 엔티티 단원을 참조하십시오.
모든 이벤트 및 구독을 사물 형태 수준에서 정의합니다.
* 
사물 형태를 사용하여 속성 및 서비스를 정의하는 것이 좋습니다. 사물 템플릿에 속성과 서비스를 정의하면 해당 정의를 사물 형태로 이동하기가 어렵습니다.
사물, 사물 템플릿 또는 사물 형태의 모든 속성에 대해 개별적으로 경고를 정의합니다.
이벤트와 경고에 구독을 연결해야 합니다. 이렇게 해야 이벤트나 경고가 트리거될 때마다 응용 프로그램에서 기능이 실행됩니다. 이제 응용 프로그램에 데이터 흐름이 작성됩니다.
응용 프로그램을 개발하는 동안 스케줄러 구독을 통해 자동 백업을 실행할 수 있습니다.
구독에 정의된 서비스를 테스트하는 동안 응용 프로그램 로그를 확인하여 구독이 예상대로 실행되고 있는지 확인합니다.
구독용 서비스를 작성하는 모범 사례에 대한 자세한 내용은 서비스를 참조하십시오.