다음을 통해 공유


Azure IoT 데이터 프로세서 미리 보기 파이프라인에서 데이터 변환

Important

Azure IoT 작업 미리 보기 - Azure Arc에서 지원되는 Azure IoT 작업은 현재 미리 보기로 제공됩니다. 프로덕션 환경에서는 이 미리 보기 소프트웨어를 사용하면 안 됩니다.

베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

파이프라인의 메시지에 대해 다음과 같은 구조적 변환을 수행하려면 변환 스테이지를 사용합니다.

  • 태그 및 속성 이름 바꾸기
  • 데이터 일괄 처리 해제
  • 새 속성 추가
  • 계산된 값 추가

변환 스테이지에서는 jq를 사용하여 데이터 변환을 지원합니다.

  • 각 파이프라인 파티션은 서로 독립적으로 메시지를 변환합니다.
  • 스테이지는 제공된 jq 식을 기반으로 변환된 메시지를 출력합니다.
  • 스테이지로 들어오는 메시지의 구조에 따라 메시지를 변환하는 jq 식을 만듭니다.

필수 조건

변환 파이프라인 스테이지를 구성하고 사용하려면 다음이 필요합니다.

  • Azure IoT 데이터 프로세서 미리 보기의 배포된 인스턴스입니다.
  • jq 식에 대한 이해.

스테이지 구성

변환 스테이지 JSON 구성은 스테이지의 세부 정보를 정의합니다. 스테이지를 작성하려면 양식 기반 UI와 상호 작용하거나 고급 탭에서 JSON 구성을 제공하면 됩니다.

속성 Required 예시
이름 데이터 프로세서 UI에 표시할 이름입니다. Transform1
설명 변환 스테이지의 기능에 대한 사용자 친화적인 설명입니다. 아니요 Rename Tags
쿼리 변환 jq 식. .payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add)

샘플 구성

다음 변환 예에서는 설명 메시지의 태그 배열을 모든 태그와 해당 값을 포함하는 개체로 변환합니다.

{
    "displayName": "TransformInput", 
    "description": "Make array of tags into one object", 
    "query": ".payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add)"
}

변환 스테이지의 출력은 다음 예와 같습니다.

{
  "systemProperties": {
    "partitionKey": "foo",
    "partitionId": 5,
    "timestamp": "2023-01-11T10:02:07Z"
  },
  "qos": 1,
  "topic": "/assets/foo/tags/bar",
  "properties": {
    "responseTopic": "outputs/foo/tags/bar",
    "contentType": "application/json",
    "payloadFormat": 1,
    "correlationData": "base64::Zm9v",
    "messageExpiry": 412
  },
  "userProperties": [
    {
      "key": "prop1",
      "value": "value1"
    },
    {
      "key": "prop2",
      "value": "value2"
    }
  ],
  "payload": {
    "values": {
      "temperature": 250,
      "pressure": 30,
      "humidity": 10,
      "runningStatus": true
    }
  }
}