다음을 통해 공유


Azure IoT 데이터 프로세서 미리 보기를 사용하여 MQTT 브로커에 데이터 게시

Important

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

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

MQ 대상을 사용하여 처리된 메시지를 에지의 Azure IoT MQ Preview 인스턴스와 같은 MQTT Broker에 게시합니다. 데이터 프로세서는 MQTT v5.0을 사용하여 MQTT 브로커에 연결합니다. 대상은 단계에서 메시지를 수신하면 MQTT 브로커에 메시지를 게시합니다. MQ 대상은 일괄 처리를 지원하지 않습니다.

필수 조건

대상 파이프라인 단계를 구성하고 사용하려면 Azure IoT 데이터 프로세서 미리 보기의 배포된 인스턴스가 필요합니다.

대상 단계 구성

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

필드 형식 설명 필수 항목 기본값 예시
이름 문자열 데이터 프로세서 UI에 표시할 이름입니다. - MQTT broker output
설명 문자열 스테이지의 기능에 대한 사용자 친화적인 설명입니다. 아니요 Write to topic default/topic1
Broker 문자열 브로커 주소입니다. - mqtt://mqttEndpoint.cluster.local:1111
인증 문자열 MQTT 브로커에 연결하기 위한 인증 세부 정보입니다. None/Username/Password/Service account token (SAT) Service account token (SAT) Username/Password
사용자 이름 문자열 AuthenticationUsername/Password로 설정된 경우 사용할 사용자 이름입니다. 아니요 - myusername
암호 문자열 AuthenticationUsername/Password로 설정된 경우 사용할 암호에 대한 비밀 참조입니다. 아니요 - mysecret
항목 고정/동적 토픽 정의. 형식이 정적이면 문자열이고, 형식이 동적이면 jq 경로입니다. - ".topic"
데이터 서식1 문자열 메시지를 직렬화할 형식입니다. - Raw
사용자 속성 키/값 쌍 목록 각 MQTT 메시지에 설정할 사용자 지정 사용자 속성 목록입니다. 각 메시지의 정적 정보 또는 데이터를 포함할 수 있습니다. 아니요 []

| 다시 시도 | 다시 시도 | 사용할 재시도 정책입니다. | 아니요 | default | fixed |

1데이터 형식: MQTT broker에 메시지를 게시하기 전에 데이터 프로세서의 기본 제공 serializer를 사용하여 메시지를 다음 형식 으로 직렬화합니다.

  • Raw
  • JSON
  • JSONStream
  • CSV
  • Protobuf
  • MessagePack
  • CBOR

직렬화가 필요하지 않은 경우 Raw를 선택합니다. 원시는 현재 형식으로 데이터를 MQTT 브로커에 보냅니다.

샘플 구성

다음 JSON 예는 MQ pipelineOutput 토픽에 전체 메시지를 쓰는 완전한 MQ 대상 단계 구성을 보여 줍니다.

{
    "displayName": "MQ - 67e929",
    "type": "output/mqtt@v1",
    "viewOptions": {
        "position": {
            "x": 0,
            "y": 992
        }
    },
    "broker": "tls://aio-mq-dmqtt-frontend:8883",
    "qos": 1,
    "authentication": {
        "type": "serviceAccountToken"
    },
    "topic": {
        "type": "static",
        "value": "pipelineOutput"
    },
    "format": {
        "type": "json",
        "path": "."
    },
    "userProperties": [],
    "retry": {
        "type": "fixed",
        "interval": "20s",
        "maxRetries": 4
    }
}

구성은 다음을 정의합니다.

  • 인증은 서비스 계정 토큰을 사용하여 수행됩니다.
  • 토픽은 pipelineOutput이라는 정적 문자열입니다.
  • 출력 형식은 JSON입니다.
  • 전체 데이터 프로세서 메시지가 MQ에 기록되도록 하기 위한 형식 경로는 .입니다. 페이로드만 작성하려면 경로를 ``.payload`로 변경합니다.

예시

다음 예에서는 MQ 대상 단계에 대한 샘플 설명 메시지를 보여 줍니다.

{
  "payload": {
    "Batch": 102,
    "CurrentTemperature": 7109,
    "Customer": "Contoso",
    "Equipment": "Boiler",
    "IsSpare": true,
    "LastKnownTemperature": 7109,
    "Location": "Seattle",
    "Pressure": 7109,
    "Timestamp": "2023-08-10T00:54:58.6572007Z",
    "assetName": "oven"
  },
  "qos": 0,
  "systemProperties": {
    "partitionId": 0,
    "partitionKey": "quickstart",
    "timestamp": "2023-11-06T23:42:51.004Z"
  },
  "topic": "quickstart"
}