파서 만들기
이 가이드에서는 파서를 만드는 방법을 설명합니다. 파서는 데이터 변환 및 매핑을 실행합니다. 정확한 변환 단계는 Manufacturing Data Engine (MDE)의 whistle 스크립트 문서에 정의되어 있습니다.
파서 만들기
파서는 Whistle 스크립트를 통해 소스-대상 매핑을 실행합니다. 파서를 만들 때는 다음 세 가지 핵심 요소를 정의해야 합니다.
- 파서가 구독하는 메시지 스트림의 메시지 클래스 (입력)
- 파서가 내보내는 프로토 레코드 스트림의 유형 버전 (출력)
- 지정된 메시지 클래스 (입력)의 소스 메시지를 정의된 유형 버전 (출력)의 프로토 레코드로 변환하는 Whistle 스크립트
Whistle 스크립트는 소스 메시지 클래스 스트림의 모든 메시지에 적용되며 특정 유형 버전의 프로토 레코드 를 출력합니다. 소스 메시지 클래스가 공통적인 의미 및 스키마 구조를 공유하도록 모델링하는 데 시간을 투자하는 것이 좋습니다. 잘 정의된 소스 메시지 클래스는 파서 의 복잡한 조건부 로직을 최소화하는 데 도움이 됩니다. 자세한 내용은 소스 메시지 클래스 모델링 섹션을 참고하세요.
구성 API 또는 콘솔을 사용하여 파서를 만들 수 있습니다.
REST
POST /configuration/v1/parsers
{
"name": "PARSER_NAME",
"messageClassName": "SOURCE_MESSAGE_CLASS_NAME",
"typeReference": {
"name": "TYPE_NAME",
"version": TYPE_VERSION
},
"script": "WHISTLE_SCRIPT"
}
다음을 바꿉니다.
PARSER_NAME: 파서의 이름입니다.SOURCE_MESSAGE_CLASS_NAME: 이 파서가 구독하는 메시지 스트림의 소스 메시지 클래스 이름입니다.TYPE_NAME: 이 파서가 내보내는 프로토 레코드에서 공유되는 유형 의 이름입니다.TYPE_VERSION: 이 파서가 내보내는 프로토 레코드에서 공유되는 유형 의 버전 입니다.WHISTLE_SCRIPT: 변환을 정의하는 Whistle 스크립트입니다.
콘솔
콘솔을 사용하여 새 파서 를 만들려면 상단 메뉴에서 파서 섹션을 선택합니다. 사용 가능한 파서 목록이 표시됩니다.

사용 가능한 각 파서에 대해 다음 정보가 목록에 표시됩니다.
Name:파서의 이름입니다.Message Class Name: 파서가 가져오는 메시지 클래스의 이름입니다.Type: 파서가 내보내는 대상 유형입니다.Type Version: 파서가 내보내는 대상 유형 버전입니다.Enabled: 파서의 상태 (사용 설정 또는 사용 중지)입니다.Actions: 파서에 사용할 수 있는 작업입니다.- ' 보기/수정': 지정된 파서의 수정 메뉴를 엽니다.
- '사용 중지/사용 설정': 사용 설정된 파서를 사용 중지하거나 사용 중지된 파서를 사용 설정할 수 있습니다.
- ' 파서 테스트': 지정된
JSON파일을 사용하여 파서를 테스트하는 전용 인터페이스를 엽니다. - ' 삭제': MDE에서 파서를 삭제합니다.
새 파서를 만들려면 새 파서 추가 를 클릭합니다.
지정된 파서의 수정 섹션을 열려면 작업 아이콘에서 보기/수정 을 클릭합니다. 새 파서를 만드는 데 필요한 모든 매개변수를 표시하는 사이드 메뉴가 화면 오른쪽에 표시됩니다.

새 파서를 정의하려면 다음 매개변수를 제공해야 합니다.
Name: 파서의 이름입니다. 생성된 후에는 수정할 수 없습니다.Message Class: 파서가 가져오는 메시지 클래스 의 이름입니다. 파서가 생성된 후에는 수정할 수 없습니다. 사용 가능한 메시지 클래스 목록에서 메시지 클래스를 선택합니다.Parser Code: 파서와 연결된 매핑을 정의하는 Whistle 파일입니다. 언제든지 수정할 수 있습니다. Whistle 코드를 수정해도 파서의 새 버전이 생성되지 않습니다. 파서는 버전 관리되지 않습니다.Type: 파서가 내보내는 출력 유형 입니다. 파서가 생성된 후에는 수정할 수 없습니다. 사용 가능한 유형 목록에서 유형을 선택합니다. 새 파서의 경우 기본적으로 최신 유형 버전이 선택됩니다.
파서를 만들려면 파서 매개변수를 수정하고 하단에서 만들기 를 클릭합니다. 새 파서가 생성되면 확인 메시지가 표시됩니다.
파서 테스트
Whistle 스크립트와 샘플 입력 메시지를 제공하여 파서를 테스트할 수 있습니다.
REST
POST /configuration/v1/parsers:test
{
"script": "SCRIPT",
"testMessage": TEST_MESSAGE
}
다음을 바꿉니다.
SCRIPT: 테스트할 Whistle 스크립트 (문자열 형식)TEST_MESSAGE: 입력 테스트 메시지 (JSON 객체 형식)
콘솔
작업 메뉴와 파서 수정 메뉴에서 직접 파서를 테스트할 수 있습니다.
파서를 테스트하려면 테스트 를 클릭합니다. 테스트 화면이 열립니다.

파서를 테스트할 샘플 JSON 메시지 를 제공합니다.
입력 상자에 메시지를 입력하고 테스트 실행 버튼을 클릭합니다.
- 변환에 성공하면 결과 상자에 출력 메시지가 표시됩니다.
- 변환에 실패하면 오류의 원인이 될 수 있는 오류 메시지가 표시됩니다.
- 파서의 Whistle 파일에서 처리할 수 있는 구조가 있는 유효한
JSON파일을 테스트 메시지로 사용합니다. 예를 들어 다음은default-numeric-value-to-default-numeric-records파서에서 테스트할 수 있는 Manufactueing Connect 에지에서 생성된 숫자 페이로드의 샘플입니다.
{
"datatype": "int",
"description": "",
"deviceID": "0619E715-D1B8-438F-A1AB-E4D65D27EE83",
"deviceName": "MicroLogix1100",
"metadata": {
"location": "ES-BCN-GRA",
"manufacturer": "AllenBradley",
"model": "MicroLogix1100",
"os_revision": "Series B FRN 12.0",
"source": "mce"
},
"registerId": "0997D2ED-B2AB-434C-9754-C1A3C2E9C165",
"success": true,
"tagName": "Manufactueing Connect edge_July_test_tag",
"timestamp": 1691163012045,
"value": 8004
}
파서 수정
Whistle 스크립트 업데이트를 비롯하여 기존 파서를 업데이트할 수 있습니다.
REST
PATCH /configuration/v1/parsers/NAME
{
"disabled": DISABLED,
"script": "SCRIPT",
"typeReference": {
"name": "TYPE_NAME",
"version": TYPE_VERSION
},
"script": "WHISTLE_SCRIPT"
}
다음을 바꿉니다.
DISABLED: 파서의 상태 (true 또는 false)입니다.NAME: 파서의 이름입니다.TYPE_NAME: 이 파서가 내보내는 프로토 레코드에서 공유되는 유형 의 이름입니다.TYPE_VERSION: 이 파서가 내보내는 프로토 레코드에서 공유되는 유형 의 버전 입니다.WHISTLE_SCRIPT: 변환을 정의하는 Whistle 스크립트입니다.
콘솔
지정된 파서의 수정 섹션을 열려면 작업 아이콘에서 보기/수정 을 클릭합니다.

파서를 구성하는 데 필요한 파라미터를 표시하는 파서 수정 사이드 메뉴가 열립니다.

Name: 파서의 이름입니다. 생성된 후에는 수정할 수 없습니다.Message Class: 파서가 가져오는 메시지 클래스 의 이름입니다. 파서가 생성된 후에는 수정할 수 없습니다.Parser Code: 파서와 연결된 매핑을 정의하는 Whistle 파일입니다. 언제든지 수정할 수 있습니다. Whistle 코드를 수정해도 파서의 새 버전이 생성되지 않습니다. 파서는 버전 관리되지 않습니다.Type: 파서가 내보내는 출력 유형 입니다. 파서가 생성된 후에는 수정할 수 없습니다.Version: 파서가 내보내는 출력 유형 버전 입니다. 상위 버전의 경우 언제든지 수정할 수 있습니다.
- 파서를 수정하려면 파서 매개변수를 수정하고 저장 을 클릭합니다.
- 파서가 생성되면 확인 메시지가 표시됩니다.