Description:
Listens for Datagram Packets on a given port and reads the content of each datagram using the configured Record Reader. Each record will then be written to a flow file using the configured Record Writer. This processor can be restricted to listening for datagrams from a specific remote host and port by specifying the Sending Host and Sending Host Port properties, otherwise it will listen for datagrams from all hosts and ports.
Tags:
ingest, udp, listen, source, record
Properties:
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name |
Default Value |
Allowable Values |
Description |
Local Network Interface |
The name of a local network interface to be used to restrict listening to a specific LAN. Supports Expression Language: true |
||
Port |
The port to listen on for communication. | ||
Receive Buffer Size |
65507 B | The size of each buffer used to receive messages. Adjust this value appropriately based on the expected size of the incoming messages. | |
Max Size of Message Queue |
10000 | The maximum size of the internal queue used to buffer messages being transferred from the underlying channel to the processor. Setting this value higher allows more messages to be buffered in memory during surges of incoming messages, but increases the total memory used by the processor. | |
Max Size of Socket Buffer |
1 MB | The maximum size of the socket buffer that should be used. This is a suggestion to the Operating System to indicate how big the socket buffer should be. If this value is set too low, the buffer may fill up before the data can be read, and incoming data will be dropped. | |
Character Set |
UTF-8 | Specifies the character set of the received data. | |
Poll Timeout |
50 ms | The amount of time to wait when polling the internal queue for more datagrams. If no datagrams are found after waiting for the configured timeout, then the processor will emit whatever records have been obtained up to that point. | |
Batch Size |
1000 | The maximum number of datagrams to write as records to a single FlowFile. The Batch Size will only be reached when data is coming in more frequently than the Poll Timeout. | |
Record Reader |
Controller Service API: RecordReaderFactory Implementations: CSVReader GrokReader AvroReader JsonTreeReader JsonPathReader ScriptedReader |
The Record Reader to use for reading the content of incoming datagrams. | |
Record Writer |
Controller Service API: RecordSetWriterFactory Implementations: JsonRecordSetWriter FreeFormTextRecordSetWriter AvroRecordSetWriter ScriptedRecordSetWriter CSVRecordSetWriter |
The Record Writer to use to serialize the data before writing to a flow file. | |
Sending Host |
IP, or name, of a remote host. Only Datagrams from the specified Sending Host Port and this host will be accepted. Improves Performance. May be a system property or an environment variable. Supports Expression Language: true |
||
Sending Host Port |
Port being used by remote host to send Datagrams. Only Datagrams from the specified Sending Host and this port will be accepted. Improves Performance. May be a system property or an environment variable. Supports Expression Language: true |
Relationships:
Name |
Description |
success | Messages received successfully will be sent out this relationship. |
parse.failure | If a datagram cannot be parsed using the configured Record Reader, the contents of the message will be routed to this Relationship as its own individual FlowFile. |
Reads Attributes:
None specified.
Writes Attributes:
Name |
Description |
udp.sender | The sending host of the messages. |
udp.port | The sending port the messages were received. |
record.count | The number of records written to the flow file. |
mime.type | The mime-type of the writer used to write the records to the flow file. |
State management:
This component does not store state.
Restricted:
This component is not restricted.
Input requirement:
This component does not allow an incoming relationship.