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 |
사용자 이름 | 문자열 | Authentication 이 Username/Password 로 설정된 경우 사용할 사용자 이름입니다. |
아니요 | - | myusername |
암호 | 문자열 | Authentication 이 Username/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"
}