파서 만들기
이 가이드에서는 파서를 만드는 방법을 설명합니다. 파서는 데이터 변환 및 매핑을 실행합니다. 정확한 변환 단계는 Manufacturing Data Engine (MDE)의 whistle 스크립트 문서에 정의되어 있습니다.
파서 만들기
파서는 Whistle 스크립트를 사용하여 소스-타겟 매핑을 실행합니다. 파서를 만들 때는 다음 세 가지 핵심 요소를 정의해야 합니다.
- 파서가 구독하는 메시지 스트림의 메시지 클래스입니다 (입력).
- 파서가 내보내는 프로토 레코드 스트림의 유형 버전 (출력)입니다.
- 지정된 메시지 클래스 (입력)의 소스 메시지를 정의된 유형 버전 (출력)의 프로토 레코드로 변환하는 휘슬 스크립트입니다.
Whistle 스크립트는 소스 메시지 클래스 스트림의 모든 메시지에 적용되며 특정 유형 버전의 proto 레코드를 출력합니다. 공통 시맨틱 및 스키마 구조를 공유하도록 소스 메시지 클래스를 모델링하는 것이 좋습니다. 잘 정의된 소스 메시지 클래스는 파서의 복잡한 조건부 로직을 최소화하는 데 도움이 됩니다. 자세한 내용은 소스 메시지 클래스 모델링 섹션을 참고하세요.
구성 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의 이름입니다.TYPE_VERSION: 이 파서에서 내보낸 프로토 레코드에 의해 공유되는 type의 version입니다.WHISTLE_SCRIPT: 변환을 정의하는 Whistle 스크립트
콘솔
콘솔을 사용하여 새 파서를 만들려면 상단 메뉴에서 파서 섹션을 선택합니다. 사용 가능한 파서 목록이 표시됩니다.

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

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

파서를 테스트할 샘플 JSON 메시지를 제공합니다.
입력 상자에 메시지를 입력하고 테스트 실행 버튼을 클릭합니다.
- 변환에 성공하면 출력 메시지가 결과 상자에 표시됩니다.
- 변환에 실패하면 오류의 원인과 함께 오류 메시지가 표시됩니다.
- 파서의 Whistle 파일에서 처리할 수 있는 구조가 있는 유효한
JSON파일을 테스트 메시지로 사용합니다. 예를 들어 다음은default-numeric-value-to-default-numeric-records파서에서 테스트할 수 있는 Manufacturing 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의 이름입니다.TYPE_VERSION: 이 파서에서 내보낸 프로토 레코드에 의해 공유되는 type의 Version입니다.WHISTLE_SCRIPT: 변환을 정의하는 휘슬 스크립트입니다.
콘솔
특정 파서의 수정 섹션을 열려면 작업 아이콘에서 보기/수정을 클릭합니다.

파서 수정 측면 메뉴가 열리고 파서를 구성하는 데 필요한 매개변수가 표시됩니다.

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