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