수신 시 IoT Central로 원격 분석 매핑

데이터 매핑을 사용하면 복잡한 디바이스 원격 분석을 IoT Central 내의 구조화된 데이터로 변환할 수 있습니다. 각 디바이스에 대해 디바이스 원격 분석 메시지의 특정 JSON 경로를 별칭에 매핑할 수 있습니다. 별칭은 매핑할 대상의 식별 이름입니다. IoT Central은 매핑을 사용하여 IoT Central로 가는 동안 원격 분석을 변환합니다. 매핑된 원격 분석을 사용하여 다음을 수행할 수 있습니다.

  • IoT Central에서 디바이스 템플릿 및 디바이스 관리 환경을 만듭니다.
  • 여러 디바이스의 JSON 경로를 일반적인 별칭에 매핑하여 여러 디바이스에서 원격 분석을 정규화합니다.
  • IoT Central 외부의 대상으로 내보냅니다.

원격 분석에서 디바이스 템플릿을 자동으로 생성하려면 디바이스 템플릿 자동 생성을 참조하세요.

IoT Central의 매핑 프로세스를 요약한 다이어그램.

다음 동영상에서는 데이터 매핑 프로세스를 설명합니다.

디바이스에 대한 원격 분석 매핑

매핑은 JSONPath 식을 사용하여 들어오는 원격 분석 메시지의 값을 식별하고 별칭에 매핑합니다.

JSONPath 식은 메시지의 루트 요소를 참조하는 $ 문자로 시작합니다. $ 다음에는 대괄호를 사용하여 구분된 자식 요소 시퀀스가 나옵니다. 예시:

$["messages"]["tmp"]

$["opcua"]["payload"][0]["value"]

$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]

IoT Central은 JSONPath 식 구문의 하위 집합을 사용합니다.

  • 각 세그먼트는 오직 음수가 아닌 숫자이거나 큰따옴표로 묶인 문자열일 수 있습니다.
  • 세그먼트에는 백슬래시, 대괄호 또는 큰따옴표를 포함할 수 없습니다.
  • JSON 경로는 1000자를 초과할 수 없습니다.

IoT Central 애플리케이션에서 매핑을 만들려면 다음 옵션 중 하나를 선택하여 맵 데이터 패널로 이동합니다.

  • 모든 디바이스 페이지에서 디바이스 > 맵 데이터 관리를 선택합니다.

    **맵 데이터** 메뉴 항목을 보여 주는 스크린샷

  • 디바이스의 원시 데이터 보기에서 원격 분석 메시지를 확장하고 마우스 포인터로 경로 위를 가리킨 다음 별칭 추가를 선택합니다. JSONPath 식이 JSON 경로 필드에 복사된 상태에서 맵 데이터 패널이 열립니다.

    **원시 데이터** 보기의 **별칭 추가** 옵션을 보여 주는 스크린샷

맵 데이터 패널의 왼쪽에는 디바이스의 최신 메시지가 표시됩니다. 데이터의 한 부분을 마우스 포인터로 가리키고 별칭 추가를 선택합니다. JSONPath 식은 JSON 경로에 복사됩니다. 64자 이하의 별칭 이름을 추가합니다. 디바이스 템플릿에 정의된 복잡한 개체의 필드를 참조할 때는 별칭을 사용할 수 없습니다.

필요한 만큼 매핑을 추가한 다음 저장을 선택합니다.

Json 경로 및 별칭을 보여 주는 **맵 데이터** 보기의 스크린샷

지정된 디바이스의 경우:

  • 두 매핑은 동일한 JSON 경로를 가질 수 없습니다.
  • 두 매핑은 동일한 별칭을 가질 수 없습니다.

디바이스가 원격 분석 메시지를 왼쪽 패널에 표시할 때까지 몇 분 정도 기다려야 할 수 있습니다. 왼쪽 패널에 데이터가 아직 없는 경우 JSON 경로 필드에 JSONPath 식을 수동으로 입력할 수 있습니다.

IoT Central이 원격 분석을 매핑하고 있는지 확인하려면 디바이스의 원시 데이터 뷰로 이동하여 _mappeddata 섹션을 확인합니다.

**원시 데이터** 보기의 메시지에서 매핑된 데이터 섹션을 보여 주는 스크린샷

원시 데이터를 여러 번 새로 고쳐도 매핑된 데이터가 표시되지 않으면 사용 중인 JSONPath 식이 원격 분석 메시지의 구조와 일치하는지 확인합니다.

IoT Edge 디바이스의 경우 데이터 매핑은 모든 IoT Edge 모듈 및 허브의 원격 분석에 적용됩니다. 특정 Azure IoT Edge 모듈에는 매핑을 적용할 수 없습니다.

디바이스 템플릿에 할당된 디바이스의 경우 구성 요소 또는 상속된 인터페이스에 대한 데이터를 매핑할 수 없습니다. 그러나 디바이스 템플릿에 할당하기 전에 디바이스의 데이터를 매핑할 수 있습니다.

매핑 관리

매핑을 보거나 편집하거나 삭제하려면 매핑된 별칭 페이지로 이동합니다. 매핑을 선택하여 편집하거나 삭제합니다. 여러 구성원을 선택하여 동시에 제거할 수 있습니다.

편집 및 삭제 단추가 있는 **매핑된 별칭** 보기를 보여 주는 스크린샷

기본적으로 IoT Central의 데이터 내보내기에는 매핑된 데이터가 포함됩니다. 매핑된 데이터를 제외하려면 데이터 내보내기에서 데이터 변환을 사용합니다.

모델링되지 않은 원격 분석 매핑

모델링되지 않은 구성 요소의 원격 분석을 포함하여 모델링되지 않은 원격 분석을 매핑할 수 있습니다. 예를 들어 루트 구성 요소에 정의된 workingSet 원격 분석과 다음 예제와 같이 자동 온도 조절기 구성 요소에 정의된 temperature 원격 분석이 있습니다.

{
  "_unmodeleddata": {
    "workingSet": 74
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:22:40.257Z"
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 44
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:21:48.69Z"
}

다음 매핑 정의를 사용하여 이 원격 분석을 매핑할 수 있습니다.

  • $["workingSet"] ws
  • $["temperature"] temp

참고 항목

매핑 정의에 구성 요소 이름을 포함하지 마세요.

이러한 매핑 규칙의 결과는 다음 예제와 같습니다.

{
  "telemetries": {
    "workingSet": 84,
    "_mappeddata": {
      "ws": 84
    }
  }
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 12
    },
    "_mappeddata": {
      "thermostat2": {
        "__t": "c",
        "temp": 12
      }
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:31:21.088Z"
}

이제 매핑된 별칭을 사용하여 차트 또는 대시보드에 원격 분석을 표시할 수 있습니다. 원격 분석을 내보낼 때 매핑된 별칭을 사용할 수도 있습니다.