PutTCP

Description:

Sends serialized FlowFiles or Records over TCP to a configurable destination with optional support for TLS

Tags:

remote, egress, put, tcp

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.

Display NameAPI NameDefault ValueAllowable ValuesDescription
HostnameHostnamelocalhostDestination hostname or IP address
Supports Expression Language: true (will be evaluated using variable registry only)
PortPortDestination port number
Supports Expression Language: true (will be evaluated using variable registry only)
Max Size of Socket Send BufferMax Size of Socket Send Buffer1 MBThe maximum size of the socket send 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.
Idle Connection ExpirationIdle Connection Expiration15 secondsThe amount of time a connection should be held open without being used before closing the connection. A value of 0 seconds will disable this feature.
Supports Expression Language: true (will be evaluated using variable registry only)
TimeoutTimeout10 secondsThe timeout for connecting to and communicating with the destination. Does not apply to UDP
Supports Expression Language: true (will be evaluated using variable registry only)
Connection Per FlowFileConnection Per FlowFilefalse
  • true
  • false
Specifies whether to send each FlowFile's content on an individual connection.
SSL Context ServiceSSL Context ServiceController Service API:
SSLContextService
Implementations: StandardRestrictedSSLContextService
StandardSSLContextService
Specifies the SSL Context Service to enable TLS socket communication
Transmission StrategyTransmission StrategyFlowFile-oriented
  • FlowFile-oriented Send FlowFile content as a single stream
  • Record-oriented Read Records from input FlowFiles and send serialized Records as individual messages
Specifies the strategy used for reading input FlowFiles and transmitting messages to the destination socket address
Outgoing Message DelimiterOutgoing Message DelimiterSpecifies the delimiter to use when sending messages out over the same TCP stream. The delimiter is appended to each FlowFile message that is transmitted over the stream so that the receiver can determine when one message ends and the next message begins. Users should ensure that the FlowFile content does not contain the delimiter character to avoid errors. In order to use a new line character you can enter '\n'. For a tab character use '\t'. Finally for a carriage return use '\r'.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)

This Property is only considered if the [Transmission Strategy] Property has a value of "FlowFile-oriented".
Character SetCharacter SetUTF-8Specifies the character set of the data being sent.
Supports Expression Language: true (will be evaluated using variable registry only)

This Property is only considered if the [Transmission Strategy] Property has a value of "FlowFile-oriented".
Record ReaderRecord ReaderController Service API:
RecordReaderFactory
Implementations: Syslog5424Reader
CEFReader
ReaderLookup
CiscoEmblemSyslogMessageReader
CSVReader
GrokReader
SyslogReader
JsonTreeReader
JsonPathReader
XMLReader
AvroReader
JASN1Reader
ExcelReader
ParquetReader
EBCDICRecordReader
WindowsEventLogReader
IPFIXReader
ScriptedReader
Specifies the Controller Service to use for reading Records from input FlowFiles

This Property is only considered if the [Transmission Strategy] Property has a value of "Record-oriented".
Record WriterRecord WriterController Service API:
RecordSetWriterFactory
Implementations: JsonRecordSetWriter
ParquetRecordSetWriter
CSVRecordSetWriter
ScriptedRecordSetWriter
XMLRecordSetWriter
FreeFormTextRecordSetWriter
AvroRecordSetWriter
RecordSetWriterLookup
Specifies the Controller Service to use for writing Records to the configured socket address

This Property is only considered if the [Transmission Strategy] Property has a value of "Record-oriented".

Relationships:

NameDescription
successFlowFiles that are sent successfully to the destination are sent out this relationship.
failureFlowFiles that failed to send to the destination are sent out this relationship.

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
record.count.transmittedCount of records transmitted to configured destination address

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.

See Also:

ListenTCP, PutUDP