소스 메시지 클래스 만들기
이 가이드에서는 Manufacturing Data Engine (MDE)의 소스 메시지 클래스를 만드는 방법을 설명합니다.
소스 메시지 클래스 모델링
소스 메시지 클래스는 공통 구조를 공유하는 소스 메시지 집합을 캡처하도록 정의해야 합니다.
소스 메시지 클래스를 더 구체적으로 설계할수록 다양한 소스 메시지 간의 스키마 차이를 처리하기 위해 Whistle 스크립트에 작성해야 하는 조건문이 줄어듭니다. 하지만 더 구체적인 소스 메시지 클래스를 만들면 파서가 더 많이 필요합니다.
따라서 소스 메시지 클래스를 모델링하려면 한편으로는 균일한 메시지 스키마가 있는 소스 메시지 클래스와 다른 한편으로는 관리해야 하는 파서 수 간의 적절한 균형을 찾아야 합니다.
소스 메시지 클래스 생성
이 섹션에서는 API 호출 또는 콘솔 인터페이스를 사용하여 소스 메시지 클래스를 만드는 과정을 설명합니다.
REST
POST /configuration/v1/message-classes
{
"name": "MESSAGE_CLASS_NAME",
"MESSAGE_CLASS_NAME": "PRIORITY",
"expression": "SPEL_EXPRESSION"
}
다음을 바꿉니다.
MESSAGE_CLASS_NAME: 만들 메시지 클래스의 이름입니다.PRIORITY: 메시지 클래스의 우선순위입니다. 메시지 클래스의 우선순위는 0~65535(포함) 사이의 정수입니다. 낮은 정수는 높은 우선순위를 나타냅니다.SPEL_EXPRESSION: 메시지 클래스를 정의하는 SpEL 표현식입니다. 예를 들면#root.event['value'] instanceof T(Number)입니다.
콘솔
UI의 'MESSAGE CLASSES' 섹션을 열어 Source Message Class를 만듭니다. 사용 가능한 모든 메시지 클래스 목록이 UI의 이 섹션에 표시됩니다.

각 메시지 클래스에 대해 목록에 다음 매개변수가 표시됩니다.
- 메시지 클래스 이름: 메시지 클래스의 이름입니다. 고유해야 합니다.
- 메시지 클래스 표현식: 메시지 클래스와 연결된 실제 SpEL 표현식입니다.
- 우선순위: 메시지 클래스의 우선순위입니다 (숫자가 작을수록 우선순위가 높음).
- 사용 설정됨: 메시지 클래스의 상태입니다. 사용 중지된 메시지 클래스는 수집에 포함되지 않습니다.
- 작업: 선택한 메시지 클래스의 '보기/수정' 기능과 '사용 설정 / 사용 중지' 기능에 액세스할 수 있는 컨텍스트 버튼입니다.
새 메시지 클래스를 추가하려면 상단의 '새 메시지 클래스 추가' 버튼을 클릭합니다. 제공해야 하는 모든 필수 메시지 클래스 매개변수가 포함된 새 사이드 메뉴가 표시됩니다.

- 메시지 클래스 이름: 메시지 클래스를 정의하는 고유한 문자열입니다.
- 메시지 클래스 표현식: 메시지 클래스를 정의하는 SpEL 표현식을 참조합니다.
- 우선순위: 메시지 클래스와 연결된 우선순위를 정의합니다. 메시지 클래스의 우선순위는 0~65535(포함) 사이의 정수입니다. 낮은 정수는 높은 우선 순위를 나타냅니다. 메시지가 메시지 클래스 2개의 표현식을 검증하는 경우 우선순위 값이 낮은 메시지 클래스만 트리거됩니다.
새 메시지 클래스를 만들려면 메시지 클래스 표현식 필드에 유효한 SpEL 표현식을 입력하고 우선순위를 설정합니다.
만들기 버튼을 클릭하여 변경사항을 저장합니다. 새 메시지 클래스가 성공적으로 생성되면 확인 메시지가 표시됩니다.
소스 메시지 클래스 표현식 테스트
소스 메시지 클래스를 만들기 전에 소스 메시지 클래스 표현식을 실험하고 테스트할 수 있습니다.
REST
POST /configuration/v1/message-classes:test
{
"expression": "SPEL_EXPRESSION",
"testMessage": "TEST_MESSAGE"
}
다음을 바꿉니다.
SPEL_EXPRESSION: 메시지 클래스를 정의하는 SpEL 표현식입니다.TEST_MESSAGE: 테스트 소스 메시지 객체입니다.
반환 객체는 제공된 표현식이 구문상 올바른지, 제공된 메시지에 대해 true 또는 false로 평가되는지 알려줍니다.
콘솔
UI는 테스트 메시지를 사용하여 새 메시지 클래스의 SpEL 표현식을 테스트하는 옵션을 제공합니다.
- '테스트 메시지' 상자에 샘플
JSON메시지를 입력합니다. - '테스트 실행'을 클릭하여 검증을 실행합니다. 테스트 결과는 '일치' 또는 '불일치' 결과와 일치 기준에 대한 간단한 설명입니다.

활성 상태의 모든 메시지 클래스에 대해 테스트 메시지 평가
메시지를 평가하여 활성 소스 메시지 클래스 집합에 대해 테스트 메시지가 속할 소스 메시지 클래스를 확인할 수 있습니다.
REST
POST /configuration/v1/message-classes:evaluate
{
"testMessage": "TEST_MESSAGE"
}
다음을 바꿉니다.
TEST_MESSAGE을 테스트 소스 메시지 객체로 바꿉니다.
반환 객체는 제공된 메일에 일치하는 소스 메일 클래스가 있는 경우 이를 알려줍니다.