ListenUDPRecord
ListenUDPRecord
주어진 포트에서 Datagram Packet을 수신하고 구성된 Record Reader를 사용해 각 datagram의 콘텐츠를 읽는 프로세서예요. 각 레코드는 구성된 Record Writer를 사용해 flow file에 기록돼요. Sending Host와 Sending Host Port 속성을 지정하면 특정 원격 호스트와 포트에서 오는 datagram만 수신하도록 제한할 수 있으며, 그렇지 않으면 모든 호스트와 포트의 datagram을 수신해요.
출처: Snowflake 문서
본문
기능 — 일반 제공(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.
Bundle
org.apache.nifi | nifi-standard-nar
설명 (Description)
주어진 포트에서 Datagram Packet을 수신하고 구성된 Record Reader를 사용해 각 datagram의 콘텐츠를 읽어요. 각 레코드는 구성된 Record Writer를 사용해 flow file에 기록돼요. Sending Host와 Sending Host Port 속성을 지정하면 특정 원격 호스트와 포트에서 오는 datagram만 수신하도록 제한할 수 있고, 그렇지 않으면 모든 호스트와 포트의 datagram을 수신해요.
태그 (Tags)
ingest, listen, record, source, udp
입력 요구사항 (Input Requirement)
FORBIDDEN (금지)
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
false
속성 (Properties)
| Property | Description |
|---|---|
| Character Set | 수신 데이터의 문자 집합을 지정해요. |
| Local Network Interface | 수신 대기를 특정 LAN으로 제한하는 데 사용할 로컬 네트워크 인터페이스 이름이에요. |
| Max Size of Message Queue | 기본 채널에서 프로세서로 전송되는 메시지를 버퍼링하는 데 사용하는 내부 큐의 최대 크기예요. 이 값을 높이면 수신 메시지 급증 시 더 많은 메시지를 메모리에 버퍼링할 수 있지만 프로세서가 사용하는 총 메모리가 늘어나요. |
| Max Size of Socket Buffer | 사용할 socket buffer의 최대 크기예요. 이는 socket buffer가 얼마나 커야 하는지 운영 체제에 알려주는 제안이에요. 너무 낮게 설정하면 데이터를 읽기 전에 버퍼가 가득 차 들어오는 데이터가 버려질 수 있어요. |
| Port | 통신을 위해 수신 대기할 포트예요. |
| Receive Buffer Size | 메시지를 수신하는 데 사용하는 각 버퍼의 크기예요. 들어오는 메시지의 예상 크기에 따라 적절히 조정하세요. |
| batch-size | 단일 FlowFile에 레코드로 기록할 datagram의 최대 수예요. 데이터가 Poll Timeout보다 더 자주 들어올 때만 Batch Size에 도달해요. |
| poll-timeout | 내부 큐에서 더 많은 datagram을 폴링할 때 기다리는 시간이에요. 구성된 timeout 동안 기다린 후에도 datagram이 없으면 프로세서는 그 시점까지 얻은 모든 레코드를 내보내요. |
| record-reader | 들어오는 datagram의 콘텐츠를 읽는 데 사용할 Record Reader예요. |
| record-writer | flow file에 쓰기 전에 데이터를 직렬화하는 데 사용할 Record Writer예요. |
| sending-host | 원격 호스트의 IP 또는 이름이에요. 지정된 Sending Host Port와 이 호스트에서 온 Datagram만 허용돼요. 성능을 개선해요. 시스템 속성 또는 환경 변수일 수 있어요. |
| sending-host-port | 원격 호스트가 Datagram을 보내는 데 사용하는 포트예요. 지정된 Sending Host와 이 포트에서 온 Datagram만 허용돼요. 성능을 개선해요. 시스템 속성 또는 환경 변수일 수 있어요. |
관계 (Relationships)
| Name | Description |
|---|---|
| parse.failure | 구성된 Record Reader로 datagram을 파싱할 수 없으면 메시지 내용이 고유한 개별 FlowFile로 이 Relationship에 연결돼요. |
| success | 성공적으로 수신된 메시지는 이 관계로 전송돼요. |
쓰기 속성 (Writes attributes)
| Name | Description |
|---|---|
| udp.sender | 메시지의 전송 호스트예요. |
| udp.port | 메시지가 수신된 전송 포트예요. |
| record.count | flow file에 기록된 레코드 수예요. |
| mime.type | flow file에 레코드를 기록하는 데 사용된 writer의 mime-type이에요. |