파서 만들기

이 가이드에서는 파서를 만드는 방법을 설명합니다. 파서는 데이터 변환 및 매핑을 실행합니다. 정확한 변환 단계는 Manufacturing Data Engine (MDE)의 whistle 스크립트 문서에 정의되어 있습니다.

파서 만들기

파서는 Whistle 스크립트를 통해 소스-대상 매핑을 실행합니다. 파서를 만들 때는 다음 세 가지 핵심 요소를 정의해야 합니다.

  1. 파서가 구독하는 메시지 스트림의 메시지 클래스 (입력)
  2. 파서가 내보내는 프로토 레코드 스트림의 유형 버전 (출력)
  3. 지정된 메시지 클래스 (입력)의 소스 메시지를 정의된 유형 버전 (출력)의 프로토 레코드로 변환하는 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 스크립트입니다.

콘솔

  1. 콘솔을 사용하여 새 파서 를 만들려면 상단 메뉴에서 파서 섹션을 선택합니다. 사용 가능한 파서 목록이 표시됩니다.

    파서 - 사용 가능한 파서 목록

  2. 사용 가능한 각 파서에 대해 다음 정보가 목록에 표시됩니다.

    • Name:파서의 이름입니다.
    • Message Class Name: 파서가 가져오는 메시지 클래스의 이름입니다.
    • Type: 파서가 내보내는 대상 유형입니다.
    • Type Version: 파서가 내보내는 대상 유형 버전입니다.
    • Enabled: 파서의 상태 (사용 설정 또는 사용 중지)입니다.
    • Actions: 파서에 사용할 수 있는 작업입니다.
      • ' 보기/수정': 지정된 파서의 수정 메뉴를 엽니다.
      • '사용 중지/사용 설정': 사용 설정된 파서를 사용 중지하거나 사용 중지된 파서를 사용 설정할 수 있습니다.
      • ' 파서 테스트': 지정된 JSON 파일을 사용하여 파서를 테스트하는 전용 인터페이스를 엽니다.
      • ' 삭제': MDE에서 파서를 삭제합니다.
  3. 새 파서를 만들려면 새 파서 추가 를 클릭합니다.

  4. 지정된 파서의 수정 섹션을 열려면 작업 아이콘에서 보기/수정 을 클릭합니다. 새 파서를 만드는 데 필요한 모든 매개변수를 표시하는 사이드 메뉴가 화면 오른쪽에 표시됩니다.

    파서 - 새 파서

  5. 새 파서를 정의하려면 다음 매개변수를 제공해야 합니다.

    • 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 객체 형식)

콘솔

작업 메뉴와 파서 수정 메뉴에서 직접 파서를 테스트할 수 있습니다.

  1. 파서를 테스트하려면 테스트 를 클릭합니다. 테스트 화면이 열립니다.

    파서 - 사용 가능한 파서 목록

  2. 파서를 테스트할 샘플 JSON 메시지 를 제공합니다.

  3. 입력 상자에 메시지를 입력하고 테스트 실행 버튼을 클릭합니다.

  • 변환에 성공하면 결과 상자에 출력 메시지가 표시됩니다.
  • 변환에 실패하면 오류의 원인이 될 수 있는 오류 메시지가 표시됩니다.
  1. 파서의 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 스크립트입니다.

콘솔

  1. 지정된 파서의 수정 섹션을 열려면 작업 아이콘에서 보기/수정 을 클릭합니다.

    파서 - 사용 가능한 작업 목록

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

    파서 - 파서 수정 사이드 메뉴

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