PublishMQTT

PublishMQTT

MQTT 토픽으로 메시지를 게시하는 프로세서예요.

출처: Snowflake 문서 — PublishMQTT

본문

번들 (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

더 알아보기 (Learn more)