PublishMQTT
PublishMQTT
MQTT 토픽으로 메시지를 게시하는 프로세서예요.
본문
번들 (Bundle)
org.apache.nifi | nifi-mqtt-nar
설명
MQTT 토픽에 메시지를 게시해요.
태그
IOT, MQTT, publish
입력 요구 사항 (Input Requirement)
REQUIRED — 입력 FlowFile이 필요해요.
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
false — 지원하지 않아요.
속성 (Properties)
| 속성 | 설명 |
|---|---|
| Broker URI | MQTT broker에 연결하는 데 사용할 URI예요(예: tcp://localhost:1883). 'tcp', 'ssl', 'ws', 'wss' 스킴이 지원돼요. 'ssl'을 사용하려면 SSL Context Service 속성을 설정해야 해요. 쉼표로 구분된 URI 목록을 설정하면(예: tcp://localhost:1883,tcp://localhost:1884) 연결 실패 시 프로세서가 라운드로빈 알고리즘으로 broker에 연결해요. |
| Client ID | 사용할 MQTT client ID예요. 설정하지 않으면 UUID가 생성돼요. |
| Connection Timeout (seconds) | 클라이언트가 MQTT 서버와의 네트워크 연결이 설정될 때까지 기다리는 최대 시간 간격이에요. 기본 제한 시간은 30초예요. 0이면 제한 시간 처리를 비활성화해 네트워크 연결이 성공하거나 실패할 때까지 기다려요. |
| Keep Alive Interval (seconds) | 전송되거나 수신되는 메시지 사이의 최대 시간 간격을 정의해요. TCP/IP 타임아웃을 기다리지 않고 서버가 더 이상 사용할 수 없는지 감지할 수 있게 해줘요. 클라이언트는 각 keep alive 기간 안에 최소한 하나의 메시지가 네트워크를 통과하도록 보장해요. 해당 기간에 데이터 관련 메시지가 없으면 클라이언트는 서버가 확인하는 아주 작은 "ping" 메시지를 보내요. 0이면 클라이언트의 keepalive 처리를 비활성화해요. |
| Last Will Message | 클라이언트의 Last Will로 보낼 메시지예요. |
| Last Will QoS Level | Last Will Message를 게시할 때 사용할 QoS 수준이에요. |
| Last Will Retain | 클라이언트의 Last Will를 유지(retain)할지 여부예요. |
| Last Will Topic | 클라이언트의 Last Will를 보낼 토픽이에요. |
| MQTT Specification Version | broker에 연결할 때의 MQTT 사양 버전이에요. 자세한 내용은 허용 가능한 값 설명을 참고하세요. |
| Password | broker에 연결할 때 사용할 암호예요. |
| Quality of Service(QoS) | 메시지를 보낼 때 사용할 서비스 품질(QoS)이에요. '0', '1', '2' 세 값을 받아요. '0'은 'at most once', '1'은 'at least once', '2'는 'exactly once'예요. 서로 다른 QoS로 메시지를 게시할 수 있도록 Expression Language가 허용되지만, 속성의 최종 값은 '0', '1', '2' 중 하나여야 해요. |
| Retain Message | MQTT 메시지에 retain 플래그를 설정할지 여부예요. |
| SSL Context Service | TLS/SSL 연결을 위한 클라이언트 인증서 정보를 제공하는 SSL Context Service예요. |
| Session Expiry Interval | 이 간격 후에 broker가 클라이언트를 만료시키고 세션 상태를 지워요. |
| Session state | 새로운 세션을 시작할지 이전 흐름을 재개할지 여부예요. 자세한 내용은 허용 가능한 값 설명을 참고하세요. |
| Topic | 메시지를 게시할 토픽이에요. |
| Username | broker에 연결할 때 사용할 사용자 이름이에요. |
| message-demarcator | 이 속성을 사용하면 단일 FlowFile에서 여러 메시지를 게시할 수 있어요. FlowFile 내용을 구분하는 데 사용할 문자열(UTF-8로 해석)을 제공할 수 있어요. 선택 속성으로, 제공하지 않고 Record Reader/Writer를 정의하지 않으면 각 FlowFile이 단일 메시지로 게시돼요. 'new line' 같은 특수 문자를 입력하려면 OS에 따라 CTRL+Enter 또는 Shift+Enter를 사용하세요. |
| record-reader | 들어오는 FlowFile을 Records로 파싱하는 데 사용할 Record Reader예요. |
| record-writer | MQTT 메시지로 게시하기 전에 Records를 직렬화하는 데 사용할 Record Writer예요. |
관계 (Relationships)
| 이름 | 설명 |
|---|---|
failure |
목적지로 전송에 실패한 FlowFile이 이 관계로 전달돼요. |
success |
목적지로 성공적으로 전송된 FlowFile이 이 관계로 전달돼요. |
더 보기 (See also)
org.apache.nifi.processors.mqtt.ConsumeMQTT